python-xmpp-bot

A simple python-based XMPP bot.
git clone https://git.sr.ht/~jbauer/python-xmpp-bot
Log | Files | Refs | README | LICENSE

commit 6fc6746cfc67d98a120d59eb5d058a67702ff6e8
parent 18d23e6d87e5fe49386d3b720e10f5779a045042
Author: Jake Bauer <jbauer@paritybit.ca>
Date:   Sat, 28 Nov 2020 04:50:06 -0500

Add roadmap to README

Diffstat:
MREADME.md | 38++++++++++++++++++++++++++++++++++++++
1 file changed, 38 insertions(+), 0 deletions(-)

diff --git a/README.md b/README.md @@ -22,3 +22,41 @@ The users who have been configured as admins in the `botconfig.json` file can also see additional commands by messaging the bot directly with the `.tbhelp` command. Admin users can run these additional commands by messaging the bot directly (they will not work from within a group chat). + +## Roadmap + +Here is a list of features I plan to add: + +* Implement command prefix config (i.e. `.tb` not hardcoded; can be configured) +* Differentiate .tbrestart command into: + * `<prefix>restart`: [ADMIN] Proper script restarting (using os.execv or something) + * `<prefix>configreload`: [ADMIN] Config file reloading + * `<prefix>reconnect`: [ADMIN] Simple disconnect/reconnect +* Add more feature-full dice roller (e.g. ability to specify number of dice) +* Add ability to add quotes to the quotes file (perhaps restrict to room + owners/moderators). +* Implement poll capabilities: + * `<prefix>pollcreate <pollName> <duration> <multipleChoice=True|False> + <option1> <option2> ... <optionN>`: Create a poll. The poll will only + accept votes from the group chat in which it was created. + * `<prefix>polllist`: List all ongoing polls for the current room. + * `<prefix>polllistall`: [ADMIN] List all ongoing polls. + * `<prefix>pollend <pollName>`: Prematurely end a poll. + * `<prefix>pollview <pollName>`: View details about a poll running in the + current room (name, remaining duration, options, number of votes, etc.) + * `<prefix>pollviewall <pollName>`: [ADMIN] Like above but can see all polls. + * `<prefix>pollvote <pollName> <option1> <option2> ... <optionN>`: Vote in a + poll in the current room (only one option accepted if not multiple + choice). + * `<prefix>pollresults <pollName>`: Print the results of a poll from the + current room which has ended including highlighting the winner. + * `<prefix>pollresultsall <pollName>`: [ADMIN] Like above but can see all + polls. + * _Maybe_ ranked polls with specification of method used to determine the + winner? +* Expand bot documentation: + * Comment class functions. + * Add to README a detailed overview of the commands available. +* Separate bot class into its own `.py` files. Class is getting quite large, can + split into Bot class and Commands class where Bot inherits from Commands. + This separates the files so they're not as unwieldy.