for announcement in db.get_all_announcements(client, servers):
if announcement['channel_id'] == 'private' and announcement['member_id'] != message.author.id:
continue
- results.append(announcement['id'])
+ text = announcement['id']
+ if announcement['channel_id'] == 'private':
+ text += ' in private'
+ else:
+ server = client.get_server(announcement['server_id'])
+ member = server.get_member(announcement['member_id'])
+ text += ' by {}'.format(member.name)
+ if announcement['channel_id']:
+ if announcement['channel_id'] != 'private':
+ text += ' in <#{}>'.format(announcement['channel_id'])
+ elif announcement['voice_id']:
+ if announcement['sound']:
+ text += ' sound {}'.format(announcement['sound'])
+ text += ' in <#{}>'.format(announcement['voice_id'])
+ if announcement['message']:
+ short = announcement['message'][:100]
+ if short != announcement['message']:
+ short += '...'
+ text += ': {}'.format(short.replace('\n', ' '))
+ results.append(text)
if len(results):
yield from say_many(message.channel, results)