aboutsummaryrefslogtreecommitdiffstats
path: root/README.md
diff options
context:
space:
mode:
authorGustav Sörnäs <gustav@sornas.net>2020-11-16 16:19:21 +0100
committerGitHub <noreply@github.com>2020-11-16 16:19:21 +0100
commita20e0162412ac4af6ef629e4b99654afad5a464a (patch)
tree0841535afce3070ab71591d56cb46a9d3e174aac /README.md
parentf771b73bcda915ce69db49f40473558ae567223f (diff)
parent96b9a8f66f62e64bc4907e12de0772392f7804c7 (diff)
downloadkodapa-a20e0162412ac4af6ef629e4b99654afad5a464a.tar.gz
Merge pull request #1 from lithekod/rust
Initial minimum viable bot
Diffstat (limited to 'README.md')
-rw-r--r--README.md73
1 files changed, 67 insertions, 6 deletions
diff --git a/README.md b/README.md
index a30ac49..4ef3515 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,69 @@
A bot to help the board with their meeting agenda and meeting
reminders.
+## Requirements
+
+The binary itself depends on OpenSSL, as well as the usual suspects (glibc):
+
+```
+$ ldd target/debug/agenda-bot
+ linux-vdso.so.1 (0x00007ffc353fd000)
+ libssl.so.1.1 => /usr/lib/libssl.so.1.1 (0x00007f58987d2000)
+ libcrypto.so.1.1 => /usr/lib/libcrypto.so.1.1 (0x00007f58984f4000)
+ libdl.so.2 => /usr/lib/libdl.so.2 (0x00007f58984ee000)
+ libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007f58984cc000)
+ libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007f58984b2000)
+ libc.so.6 => /usr/lib/libc.so.6 (0x00007f58982e9000)
+ /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007f5899b1b000)
+ libm.so.6 => /usr/lib/libm.so.6 (0x00007f58981a1000)
+```
+
+It has only been tested on Linux. macOS should work. Rust stable is needed to
+compile.
+
+## Building
+
+In order to actually use the bot you need:
+
+- Somewhere for it to live
+- A Slack "classic" bot user
+- A Discord bot user
+- Necessary permissions to add bots to your Slack workspace and Discord server
+
+Then, either pass the bot tokens as enviornment variables (`DISCORD_API_TOKEN`
+and `SLACK_API_TOKEN`), or hard-code them into the binary (**NOT RECOMMENDED**
+except for development purposes) by editing `src/discord.rs` and `src/slack.rs`.
+
+Which channels the messages are sent to is currently specified via either
+hard-coded constant values (again, not recommended, but at least not a security
+issue here) or environment variables (`DISCORD_CHANNEL` and `SLACK_CHANNEL`). If
+any of the two isn't set the bot will print a list of channels and their IDs
+when starting so you can specify a channel.
+
+The following shows all necessary steps needed to build and run the bot:
+
+```shell
+$ git clone https://github.com/lithekod/agenda-bot.git
+$ cd agenda-bot
+$ DISCORD_API_TOKEN="" \ # fill
+ SLACK_API_TOKEN="" \ # in
+ DISCORD_CHANNEL="" \ # your
+ SLACK_CHANNEL="" \ # values
+ cargo run
+```
+
+## Current (non-)features
+
+- Messages are sent where they should
+- ...but they aren't stored anywhere and can't be summarized.
+- No reminders.
+- No permissions / trusted users / trusted channels. Please, only private
+ testing servers for now.
+
+See the TODO for more planned features.
+
+## Sales pitch (not yet implemented)
+
Board members can add items to the agenda by sending a message
containing something like
@@ -9,10 +72,8 @@ containing something like
```
in either Slack or Discord. The bot sends a confirmation in both Slack
-and Discord so everyone can see what's added.
-
-Every wednesday afternoon (configurable), the day before the meeting,
-the bot sends a reminder in both Slack and Discord, as well as the
-agenda.
+and Discord so everyone can see what's being added.
-More features TBD.
+Every Wednesday afternoon (configurable) the bot sends a reminder and the agenda
+in both Slack and Discord. An additional reminder is sent 1 hour before the
+meeting.