-
-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Added AFK and Slowmode commands #5
base: main
Are you sure you want to change the base?
Conversation
AFK is completly ping-proof
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Many changes needed. Recommended to remove all except afk commands, and fix afk commands.
@@ -282,6 +283,67 @@ async def on_message_edit(before, after): | |||
ctx = await bot.get_context(after) | |||
await bot.invoke(ctx) | |||
|
|||
@bot.event | |||
async def on_message(message): | |||
if bot.afk_users.get(message.author.id): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Indentation errors here
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah, do you use spaces for indentation?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Of course, as per https://www.python.org/dev/peps/pep-0008/#code-lay-out.
Regardless, there are inconsistencies whether or not spaces or tabs are used.
async def on_message(message): | ||
if bot.afk_users.get(message.author.id): | ||
del bot.afk_users[message.author.id] | ||
return await message.channel.send(f'Welcome back {message.author.name}, you are no longer AFK') |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This should include a delete_after
@@ -125,6 +125,7 @@ async def pr(ctx, number: Option(int, "Pull request number")): | |||
await ctx.respond(f"Here's a link", view=view) | |||
|
|||
|
|||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why
del bot.afk_users[message.author.id] | ||
return await message.channel.send(f'Welcome back {message.author.name}, you are no longer AFK') | ||
|
||
for mention in message.mentions: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There's more we can do with this. It would be nice to have it say "person1 and person2 are afk" instead of just sending one person's message.
|
||
for mention in message.mentions: | ||
if bot.afk_users.get(mention.id): | ||
return await message.channel.send(f'{mention.name} is AFK: {bot.afk_users[mention.id]}', allowed_mentions = discord.AllowedMentions.none()) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
more indentation errors
else: | ||
await ctx.respond("You do not have the `Manage Message` permission which is required to run this command.", ephemeral=True) | ||
|
||
for i in ["jishaku", "cogs.rtfm", "cogs.modmail", "cogs.tags"]: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This shouldn't be here
bot.afk_users[ctx.author.id] = reason | ||
await ctx.send(f'{ctx.author.name}, I set your AFK with the reason: {reason}', allowed_mentions=discord.AllowedMentions.none(), ephemeral=True) | ||
|
||
@afk.command(name='remove') |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No need for a remove command, someone can just send a message to remove it. The set command can be moved out of the command group.
@afk.command(name='set') | ||
async def afk_set(ctx, *, reason = 'No reason provided'): | ||
if bot.afk_users.get(ctx.author.id): | ||
return await ctx.send(f'{ctx.author.name}, you\'re already AFK') |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
send()
is incorrect here
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Use double quotes here
if bot.afk_users.get(ctx.author.id): | ||
return await ctx.send(f'{ctx.author.name}, you\'re already AFK') | ||
if len(reason) > 100: # so that chat doesn't flood when the reason has to be shown | ||
return await ctx.send(f'{ctx.author.name}, keep your AFK reason under 100 characters') |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
send()
is incorrect here
if len(reason) > 100: # so that chat doesn't flood when the reason has to be shown | ||
return await ctx.send(f'{ctx.author.name}, keep your AFK reason under 100 characters') | ||
bot.afk_users[ctx.author.id] = reason | ||
await ctx.send(f'{ctx.author.name}, I set your AFK with the reason: {reason}', allowed_mentions=discord.AllowedMentions.none(), ephemeral=True) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
send()
is incorrect here
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
allowed_mentions is redundant.
Please add a changelog entry |
AFK is completly ping-proof