aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGustav Sörnäs <gustav@sornas.net>2020-11-11 19:06:23 +0100
committerGustav Sörnäs <gustav@sornas.net>2020-11-11 19:14:42 +0100
commit5dfc675f78c113465d1522624a9dd970d16d6bfe (patch)
tree950cf5275a90bc69752e4502c111f6f3164fea66
parent8ff5e1295ce9e6c670dd097ab801e4ff35e94632 (diff)
downloadkodapa-5dfc675f78c113465d1522624a9dd970d16d6bfe.tar.gz
readme/todo
-rw-r--r--README.md78
-rw-r--r--TODO16
2 files changed, 79 insertions, 15 deletions
diff --git a/README.md b/README.md
index a30ac49..88718de 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,74 @@
A bot to help the board with their meeting agenda and meeting
reminders.
+## Requirements
+
+The binary itself depends on:
+
+- Opus (see TODO)
+- OpenSSL
+
+... as well as the usual suspects:
+
+```
+$ ldd target/debug/agenda-bot
+ linux-vdso.so.1 (0x00007ffcc14e5000)
+ libopus.so.0 => /usr/lib/libopus.so.0 (0x00007fe327d4b000)
+ libssl.so.1.1 => /usr/lib/libssl.so.1.1 (0x00007fe327cbb000)
+ libcrypto.so.1.1 => /usr/lib/libcrypto.so.1.1 (0x00007fe3279dd000)
+ libdl.so.2 => /usr/lib/libdl.so.2 (0x00007fe3279d7000)
+ libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007fe3279b5000)
+ libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007fe32799b000)
+ libc.so.6 => /usr/lib/libc.so.6 (0x00007fe3277d0000)
+ /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007fe3290dd000)
+ libm.so.6 => /usr/lib/libm.so.6 (0x00007fe32768a000)
+```
+
+It has only been tested on Linux.
+
+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
+- Permission 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 or environment variables (`DISCORD_CHANNEL` and
+`SLACK_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 +77,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.
diff --git a/TODO b/TODO
index fd1282e..45d07ca 100644
--- a/TODO
+++ b/TODO
@@ -1,21 +1,18 @@
META:
-* readme
- requirements
- install instructions
- usage
-* release with binary
+* tag with binary on github
+* aur??
FEATURES:
-* specify channels to send in and store them
+* store the agenda in a (configurable) file
+* specify channels to read from and send in
+* specify trusted users (i.e. board members)
* basic commands
add
print
remove
clear
help
-* mention the bot to do stuff
-* store the agenda in a configurable file
-* print the agenda
+* mention the bot to do stuff?
ISSUES:
* build without voice support
@@ -25,6 +22,7 @@ ISSUES:
DONE:
* login
* send messages both ways
+* readme
LATER: (rough ordering and scope)
* send reminders