Keep !helpdm setting on for users that toggle server DMs on & off
minalike opened this issue · 3 comments
Re: PR python-discord/bot#1629 and discussion on server
Currently when a user runs the !helpdm on
command and subsequently closes their server DMs, when bot's DM fails to deliver the user is then set to not receive help DMs. The user has to remember to rerun the !helpdm on
command again after re-opening their server DMs at a later date.
This is cumbersome for users who frequently toggle their server DMs on and off.
It would be nice to disable this behavior and find a way to keep the setting as is even when bot's DMs fail to be delivered to the user.
Currently the bot also pings the user in #bot-commands
when a DM fails to send, but it is deleted so quickly that I never noticed. We could consider not deleting this message, or extending the amount of time before deletion to give a user a chance to actually see the message.
I turned off DMs earlier today and forgot to turn them back on before participating in a help channel. I did see the ping notification in #bot-commands but by the time I got there message was already gone. What is the current delay before message deletion?
This feature (turning off helpdms if user don't have DMs on) is added in python-discord/bot#1642, which uses bot.constants.RedirectOutput.delete_after
for deleting after a short period of time. In config-default.yml
it's set to 15 (seconds). As someone mentioned in #dev-contrib a few days ago, it was to fix python-discord/bot#1640 "403 Forbidden" error when attempting to send DMs to users who have it turned off.
If we were to keep the setting on after hitting the error, we could possibly just ignore the error, but it isn't a good idea when users who have this feature on don't know they had to turn on their DMs. Perhaps a better solution is to not have it auto-delete after a period of time, instead, having a trash can emoji or with discord UI button so the user can manually remove the message.
I'll go ahead and close this issue as I believe I might have been the only user that really wanted it, and I've since found a workaround.
The added complexity with avoiding excessive 403 errors seem not to be worth it.
The idea of extending the period of time before messages are deleted in #bot-commands or transforming it to be deleted via trash can emoji reaction can be raised in another separate issue if we so wish.