update the success emotes

This commit is contained in:
bmintz 2018-08-22 15:27:35 +00:00
parent 8f170d7f13
commit ecefefb4c9
6 changed files with 29 additions and 10 deletions

11
bot.py
View File

@ -21,9 +21,20 @@ class Bot(commands.AutoShardedBot):
description=self.config.get('description', ''), description=self.config.get('description', ''),
**kwargs) **kwargs)
self._setup_success_emojis()
for cog in self.config['cogs']: for cog in self.config['cogs']:
self.load_extension(cog) self.load_extension(cog)
def _setup_success_emojis(self):
"""Load the emojis from the config to be used when a command fails or succeeds
We do it this way so that they can be used anywhere instead of requiring a bot instance.
"""
import utils.misc
default = ('', '')
utils.SUCCESS_EMOJIS = utils.misc.SUCCESS_EMOJIS = (
self.config.get('response_emojis', {}).get('success', default))
def run(self): def run(self):
super().run(self.config['tokens'].pop('discord')) super().run(self.config['tokens'].pop('discord'))

View File

@ -65,7 +65,7 @@ class Emotes:
if isinstance(error, commands.NoPrivateMessage): if isinstance(error, commands.NoPrivateMessage):
await context.send( await context.send(
f'{utils.SUCCESS_EMOTES[False]} Sorry, this command may only be used in a server.') f'{utils.SUCCESS_EMOJIS[False]} Sorry, this command may only be used in a server.')
@commands.command() @commands.command()
async def add(self, context, *args): async def add(self, context, *args):
@ -220,7 +220,7 @@ class Emotes:
for emote in emotes: for emote in emotes:
await context.invoke(self.remove, emote) await context.invoke(self.remove, emote)
with contextlib.suppress(discord.HTTPException): with contextlib.suppress(discord.HTTPException):
await context.message.add_reaction('') await context.message.add_reaction(utils.SUCCESS_EMOJIS[True])
@commands.command(aliases=('mv',)) @commands.command(aliases=('mv',))
async def rename(self, context, old, new_name): async def rename(self, context, old, new_name):

View File

@ -32,10 +32,10 @@ class Meta:
try: try:
await context.author.send(self.bot.config['support_server_invite']) await context.author.send(self.bot.config['support_server_invite'])
with contextlib.suppress(discord.HTTPException): with contextlib.suppress(discord.HTTPException):
await context.message.add_reaction('📬') await context.message.add_reaction('📬') # TODO make this emoji configurable too
except discord.Forbidden: except discord.Forbidden:
with contextlib.suppress(discord.HTTPException): with contextlib.suppress(discord.HTTPException):
await context.message.add_reaction('') await context.message.add_reaction(utils.SUCCESS_EMOJIS[True])
await context.send('Unable to send invite in DMs. Please allow DMs from server members.') await context.send('Unable to send invite in DMs. Please allow DMs from server members.')
def setup(bot): def setup(bot):

View File

@ -27,4 +27,17 @@
'user_agent': 'EmojiManagerBot (https://github.com/bmintz/emoji-manager-bot)', 'user_agent': 'EmojiManagerBot (https://github.com/bmintz/emoji-manager-bot)',
'ec_api_url': 'https://emoji-connoisseur.python-for.life/api/v0', 'ec_api_url': 'https://emoji-connoisseur.python-for.life/api/v0',
# emotes that the bot may use to respond to you
# If not provided, the bot will use ('❌', '✅') instead.
#
# You can obtain these ones from the discordbots.org server under the name "tickNo" and "tickYes"
# but I uploaded them to my test server
# so that both the staging and the stable versions of the bot can use them
'response_emotes': {
'success': { # emotes used to indicate success or failure
False: '<:error:478164511879069707>',
True: '<:success:478164452261363712>'
},
},
} }

View File

@ -11,7 +11,7 @@ class MissingManageEmojisPermission(commands.MissingPermissions):
def __init__(self): def __init__(self):
super(Exception, self).__init__( super(Exception, self).__init__(
f'{utils.SUCCESS_EMOTES[False]} ' f'{utils.SUCCESS_EMOJIS[False]} '
"Sorry, you don't have enough permissions to run this command. " "Sorry, you don't have enough permissions to run this command. "
'You and I both need the Manage Emojis permission.') 'You and I both need the Manage Emojis permission.')

View File

@ -5,11 +5,6 @@ import discord
"""various utilities for use within the bot""" """various utilities for use within the bot"""
"""Emotes used to indicate success/failure. You can obtain these from the discordbots.org guild,
but I uploaded them to my test server
so that both the staging and the stable versions of the bot can use them"""
SUCCESS_EMOTES = ('<:error:416845770239508512>', '<:success:416845760810844160>')
def format_user(bot, id, *, mention=False): def format_user(bot, id, *, mention=False):
"""Format a user ID for human readable display.""" """Format a user ID for human readable display."""
user = bot.get_user(id) user = bot.get_user(id)