35 Commits

Author SHA1 Message Date
Tim Wilson
097ff37405
bugfixes and features
I forgot most of them; will list in next commit
2020-10-20 15:55:18 -06:00
Tim Wilson
1aa9a1d3be
feature
* in DM, added reaction to toggle output display and then reprint the message
2020-10-06 11:30:28 -06:00
Tim Wilson
83d70c9d87
performance
*  improved output messages regarding modification of transfers in the event the user doesn't have permission to perform the modification
* added another override configuration option regarding removal of private transfers: 'private_transfer_protection_bot_owner_override'
2020-10-05 10:01:34 -06:00
Tim Wilson
cac5435f8c
features
* added modify reaction to `t/list` output
* added cancel button to `t/modify`
2020-10-01 20:03:10 -06:00
Tim Wilson
b2c78bdd5b
added features
* better printing of times (auto-update message frequency, transfer eta)
* user-configurable auto-update message frequency and timout (see `t/help config`)
2020-09-30 11:33:15 -06:00
Tim Wilson
9bd0a46103
bugfix
error when searching by id list
2020-09-29 13:28:41 -06:00
Tim Wilson
580d26df6e
bugfix
guaranteed that output mode is consistent throughout a particular transaction (i.e. if the bot's waiting a response from one user while the output mode changes for another) by simply passing the output mode as an argument instead of using a global variable (which made sense when I first set that up...)
2020-09-29 12:15:53 -06:00
Tim Wilson
e9ab810aeb
add features
added ability to reprint messages by clicking printer reaction
made configuration option for reaction timeout
more honest printing of eta for downloads
users can toggle compact output in DMs
2020-09-29 11:40:04 -06:00
Tim Wilson
af09ede67f
bigfix
* fix divide by zero in `t/summary` if no transfers in list (oops)
* fix error in resume all
2020-09-27 16:12:02 -06:00
Tim Wilson
2b6b6a7ee3
features
* `t/summary` now takes the same LIST_OPTIONS as `t/modify` and `t/list`, so you can see a partial summary of whatever transfers match the query.
* added a summarize reaction to the output of `t/list` so you can quickly summarize the transfers in the output message.
2020-09-26 23:35:14 -06:00
Tim Wilson
6f2c47ee8f
bugfix
* prevent from trying to delete `t/add` commands in DMs
2020-09-25 12:30:11 -06:00
Tim Wilson
1cb4a5bff5
bugfix
`t/summary` wasn't printing reactions correctly regarding auto-update
2020-09-25 12:04:19 -06:00
Tim Wilson
a67fd9f9fe
performance improvements
* added checks for whether an added torrent uses a private tracker. If so, the command message that added the torrent(s) is deleted (added corresponding configuration option), and a message is printed to the user to remind them to check the private tracker rules regarding sharing of torrent files
* `t/add` output to use embeds
* better error handling and logging
* added `channel.typing()` where appropriate so users know the bot is thinking
* added configuration options for overriding private torrent removal protection for the user that added the transfer
2020-09-25 11:39:34 -06:00
Tim Wilson
5e8f0b39cb
bugfix
added missing filters for `t/list` and `t/modify`
added configuration option to control whether command messages are deleted by the bot. if disabled, you can see the commands that prompted a result message
2020-09-23 11:41:50 -06:00
Tim Wilson
42a9dc489c
improved error handling
...kinda wish I had a proper background in python...
2020-09-20 10:19:10 -06:00
Tim Wilson
d3e123abe6
bugfix
added a missing newline in the `t/list` output for downloading items with an eta when viewed on desktop.
2020-09-16 20:17:12 -06:00
Tim Wilson
c4fa2dd47c
add features
added configuration options for `t/modify`:
* 'whitelist_user_can_remove', 'whitelist_user_can_delete', and 'whitelist_added_user_remove_delete_override'
  * The first two control whether a whitelisted user can remove or remove and delete any transfer (owners are always able to delete)
  * The third overrides this behavior, only for transfers added by the user
2020-09-13 11:10:45 -06:00
Tim Wilson
7997887ed5
Update bot.py 2020-09-11 16:41:42 -06:00
Tim Wilson
2952d2b143
bugfix
notification subscription reactions were being removed from auto-update `t/list` messages
2020-09-10 11:10:56 -06:00
Tim Wilson
55ae0bb6f5
performance improvements
added labeling to multi-message output for `t/list` and `t/modify` (e.g. message 1 of 2)
Played with the output of `t/list` and `t/modify` to make it a bit easier to interpret
2020-09-09 17:35:29 -06:00
Tim Wilson
3de928634e
new features and bugfixes
* add notifications, in-channel and through DMs
* users will automatically receive DM notifications for transfers they add
* users can opt into notifications for other transfers by reacting with a 'bell' to `t/list` output, or by reacting with a 'bell' to an in-channel notification
* users can opt out of particular DM notifications by reacting with a 'crossed bell' to a DM notification
* users can disable all DM notifications by sending a `t/notifications` command to the bot via DM
* owners can disable in-channel notifications using the `t/notifications` in the notification channel
* bot now responds to DMs, using all the same commands (with a `t/` prefix) or without a prefix using the commands full name (e.g. just `summary`)
* fixed delay if you set `t/summary` to auto-update, then printed a sublist of transfers, `summary` was waiting until the subsequent message was done monitoring its reactions before updating itself, but now it loads the subsequent message using asyncio.create_task() so it doesn't have to wait.
* users can now add transfers by simply posting a .torrent file in a listened channel or via DM, no command required.
2020-09-08 10:53:20 -06:00
Tim Wilson
8442665ecd
bugfixes and performance enhancements
* disabled checking reactions as their added; that was slow.
* reload transmissionrpc client (when there's no repeating messages) so the bot can handle when transmission restarts or becomes unavailable.
2020-09-05 01:31:43 -06:00
Tim Wilson
d6cd84dbcf
bugfix
missed some reaction cleanup when you fast-react to print the legend
2020-09-03 12:41:11 -06:00
Tim Wilson
00a05a21c9
bigfix
fix reference to confirmation message in `t/modify` when the message was never made.
2020-09-03 12:31:09 -06:00
Tim Wilson
a60f87e2de
feature
Cleaned up (most) reactions when they're no longer useful.
2020-09-03 12:22:23 -06:00
Tim Wilson
dc447418b4
adding missing info from previous commit
last commit I also:
* Made reactions more stable and performant
  * in `t/summary` and `t/modify` reactions are checked as their added, so a user can click a reaction before they're done printing and it will apply the action, aborting the printing of the rest
  * reactions are checked immediately after they're added and again before `t/summary`, `t/modify`, and `t/list` return, catching the case where a user's click isn't registered by `wait_for()` (i.e. if they clicked too soon while the last reaction was printing)
2020-08-31 11:30:33 -06:00
Tim Wilson
63a60610e4
new features
* now support multiple auto-update messages
  * if an auto-update message is no longer the most recent, a 'printer' reaction will appear that a user can click to reprint the output at the bottom of the channel
* Output mode (desktop or mobile) is now autoselected based on `user.is_on_mobile()`
  * can be overwritten using `t/compact`
* now `t/list` also supports searching by transfer IDs
2020-08-31 10:57:16 -06:00
Tim Wilson
ba2c55f3ca
new feature and performance improvoments
Added `t/compact` command to toggle between mobile or desktop command output that applies to `t/summary`, `t/list`, `t/modify`
User can click a reaction of `t/summary` or `t/modify` while reactions are still being printed.
2020-08-26 12:57:15 -06:00
Tim Wilson
92e8e72e04
bugfix
count-based check for reactions in `list` and `summary` now check that the original message author has clicked the reaction.
2020-08-25 17:03:53 -06:00
Tim Wilson
0c6fd04444
bugfix
1) `list` auto-update was deleting the old message every time, now it (and `summary`) edits the existing message(s) when auto-updating *unless* the auto-update message isn't the most recent. If there are newer messages then the auto-update is deleted and reposted at the bottom
2) depending on the timing with which a user presses the "cancel" reaction to stop auto-update, it could be missed. Added a final check based on the count of the cancel reaction. This has the drawback that any user can cancel the auto-update, but I could check to make sure the message author is one of the people that pressed it.
2020-08-25 14:53:55 -06:00
Tim Wilson
2217e3688b
bug fix
When auto-updating `summary`, reactions were not being removed for listing types of transfers of which there were none. Now that's fixed. e.g. if the number of downloading transfers goes from 1 to zero, the downloading reaction will be removed the next time the output is updated.
2020-08-25 14:25:24 -06:00
Tim Wilson
60537b6be9
Update bot.py 2020-08-25 12:28:01 -06:00
Tim Wilson
4d0e3d6854
added features
Repeat option for `summary` and `list` commands
More filters: stalled, running (non-zero rate), error (and types of error), verifying data, queued, public/private (tracker)
Added option to verify data to `modify` command
Added more info to summary.
2020-08-25 11:53:17 -06:00
Tim Wilson
bd0faa4e19
Update bot.py
remove symbol legends from typical output and put in special `legend` command that's also accessible by reacting to other output embeds.
2020-08-18 16:05:32 -06:00
Tim Wilson
6e11b62fa8
Create bot.py
initial commit
2020-08-18 11:15:42 -06:00