Skip to content

Commit

Permalink
Merge pull request #516 from mon/master
Browse files Browse the repository at this point in the history
Emoji log: alias support
  • Loading branch information
nicklambourne committed Mar 3, 2020
2 parents 7deed53 + 66bf591 commit 7a13c00
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 7 deletions.
14 changes: 10 additions & 4 deletions test/test_emoji_log.py
Expand Up @@ -12,8 +12,12 @@ def test_emoji_log(uqcsbot: MockUQCSBot):
generate_event_object(MESSAGE_TYPE_CHANNEL_CREATED,
channel={'id': 'emoji-request', 'name': 'emoji-request',
'is_public': True}),
# normal add comes with an image URL
generate_event_object(MESSAGE_TYPE_EMOJI_CHANGED,
subtype='add', name='emoji_add_test'),
subtype='add', name='emoji_add_test', value='https://bleh.gif'),
# alias add comes with the alias name
generate_event_object(MESSAGE_TYPE_EMOJI_CHANGED,
subtype='add', name='alias_add', value='alias:emoji_add_test'),
generate_event_object(MESSAGE_TYPE_EMOJI_CHANGED,
subtype='remove', names=['emoji_remove_test']),
# if base emoji is removed, aliases go too
Expand All @@ -29,8 +33,10 @@ def test_emoji_log(uqcsbot: MockUQCSBot):

emoji_messages = uqcsbot.test_messages.get('emoji-request', [])
print(emoji_messages)
assert len(emoji_messages) == 3
assert len(emoji_messages) == 4
assert emoji_messages[0]['text'] == 'Emoji added: :emoji_add_test: (`:emoji_add_test:`)'
assert emoji_messages[1]['text'] == 'Emoji removed: `:emoji_remove_test:`'
assert (emoji_messages[2]['text'] ==
assert (emoji_messages[1]['text'] ==
'Emoji alias added: `:alias_add:` :arrow_right: `:emoji_add_test:` (:alias_add:)')
assert emoji_messages[2]['text'] == 'Emoji removed: `:emoji_remove_test:`'
assert (emoji_messages[3]['text'] ==
'Emojis removed: `:emoji_remove_test:`, `:emoji_remove_alias:`')
13 changes: 10 additions & 3 deletions uqcsbot/scripts/emoji_log.py
Expand Up @@ -15,10 +15,17 @@ def emoji_log(evt: dict):
subtype = evt.get("subtype")

if subtype == 'add':
emoji_name = evt["name"]
added = f':{emoji_name}: (`:{emoji_name}:`)'
name = evt["name"]
value = evt["value"]

bot.post_message(emoji_request, f'Emoji added: {added}')
if value.startswith('alias:'):
_, alias = value.split('alias:')

bot.post_message(emoji_request,
f'Emoji alias added: `:{name}:` :arrow_right: `:{alias}:` (:{name}:)')

else:
bot.post_message(emoji_request, f'Emoji added: :{name}: (`:{name}:`)')

elif subtype == 'remove':
names = evt.get("names")
Expand Down

0 comments on commit 7a13c00

Please sign in to comment.