async def on_member_update_impl(before, after): if before != before.server.me: return statusChange = '/' if before.status == after.status else '\'{}\'->\'{}\''.format( before.status, after.status) gameChange = '/' if before.game == after.game else '\'{}\'->\'{}\''.format( before.game.name, after.game.name) avatarChange = '/' if before.avatar_url == after.avatar_url else '\'{}\'->\'{}\''.format( before.avatar_url, after.avatar_url) nickchange = '/' if before.nick == after.nick else '\'{}\'->\'{}\''.format( before.nick, after.nick) if before.roles != after.roles: deleted = [x.name for x in before.roles if x not in after.roles] added = [x.name for x in after.roles if x not in before.roles] rolesChange = '-{}'.format( ' -'.join(deleted)) if len(deleted) > 0 else '' + ' +{}'.format( ' +'.join(added)) if len(added) > 0 else '' else: rolesChange = '/' log_main.info( 'on_member_update [Server \'{}\'] [Status {}] [Game {}] [Avatar {}] [Nick {}] [Roles {}]' .format(before.server.name, statusChange, gameChange, avatarChange, nickchange, rolesChange)) added = [ x for x in after.roles if x not in before.roles and x.name == C_RoleName ] if len(added) == 1: await on_challonge_role_assigned(before.server, added[0])
async def greet_new_server(server): log_main.info(T_Log_JoinedServer.format(server.name, server.id, server.owner.name, server.owner.id)) owner = db.get_user(server.owner.id) if not owner or not owner.discord_id: db.add_user(server.owner) # get assigned role from add link for r in server.me.roles: if r.name == C_RoleName: await on_challonge_role_assigned(server, r)
async def greet_new_server(server): log_main.info( T_Log_JoinedServer.format(server.name, server.id, server.owner.name, server.owner.id)) owner = db.get_user(server.owner.id) if not owner or not owner.discord_id: db.add_user(server.owner) # get assigned role from add link for r in server.me.roles: if r.name == C_RoleName: await on_challonge_role_assigned(server, r)
async def on_member_update_impl(before, after): if before != before.server.me: return statusChange = '/' if before.status == after.status else '\'{}\'->\'{}\''.format(before.status, after.status) gameChange = '/' if before.game == after.game else '\'{}\'->\'{}\''.format(before.game.name, after.game.name) avatarChange = '/' if before.avatar_url == after.avatar_url else '\'{}\'->\'{}\''.format(before.avatar_url, after.avatar_url) nickchange = '/' if before.nick == after.nick else '\'{}\'->\'{}\''.format(before.nick, after.nick) if before.roles != after.roles: deleted = [x.name for x in before.roles if x not in after.roles] added = [x.name for x in after.roles if x not in before.roles] rolesChange = '-{}'.format(' -'.join(deleted)) if len(deleted) > 0 else '' + ' +{}'.format(' +'.join(added)) if len(added) > 0 else '' else: rolesChange = '/' log_main.info('on_member_update [Server \'{}\'] [Status {}] [Game {}] [Avatar {}] [Nick {}] [Roles {}]'.format( before.server.name, statusChange, gameChange, avatarChange, nickchange, rolesChange)) added = [x for x in after.roles if x not in before.roles and x.name == C_RoleName] if len(added) == 1: await on_challonge_role_assigned(before.server, added[0])
def print_array(title, header, iterable, func): vert_sep = '|' array_sep = '=' header_sep = '-' line_len = len(header) array_line_separators = ''.ljust(line_len, array_sep) header_line_separators = vert_sep.ljust(line_len - 1, header_sep) + vert_sep arr = [] arr.append(array_line_separators) arr.append(vert_sep + ' ' + title.ljust(line_len - 3) + vert_sep) arr.append(header_line_separators) arr.append(header) arr.append(header_line_separators) for x in iterable: s = func(x) if s is not None and s != '': arr.append(s) arr.append(array_line_separators) final_str = '\n'.join(arr) log_main.info(final_str) return final_str
async def on_ready_impl(): log_main.info('Challonge Bot ready') db_servers = db.get_servers_id() for s in [s for s in client.servers if s.id not in db_servers]: log_main.info('on_ready greeting new server ' + s.name) await greet_new_server(s) for sid in [server_id for server_id in db_servers if client.get_server(server_id) not in client.servers]: log_main.info('on_ready cleaning removed server {0}'.format(sid)) await cleanup_removed_server(sid) await modules.set_client(client)
async def on_ready_impl(): log_main.info('Challonge Bot ready') db_servers = db.get_servers_id() for s in [s for s in client.servers if s.id not in db_servers]: log_main.info('on_ready greeting new server ' + s.name) await greet_new_server(s) for sid in [ server_id for server_id in db_servers if client.get_server(server_id) not in client.servers ]: log_main.info('on_ready cleaning removed server {0}'.format(sid)) await cleanup_removed_server(sid) await modules.set_client(client)
async def cleanup_removed_server(serverid): db.remove_server(serverid) log_main.info(T_Log_CleanRemovedServer.format(serverid))
async def on_server_remove(server): log_main.info(T_Log_RemovedServer.format(server.name, server.id, server.owner.name, server.owner.id)) await cleanup_removed_server(server.id)
async def on_server_remove(server): log_main.info('on_server_remove \'%s\' (%s) owned by \'%s\'' % (server.name, server.id, server.owner.name))
async def on_ready(): log_main.info('on_ready') client.loop.create_task(refresh_twitter_updates(client, 2 * 60)) # every 2 min
import discord from config import app_config from twitter_update import refresh_twitter_updates from log import log_main from commands import try_execute log_main.info('app_start') log_main.info(discord.__version__) client = discord.Client() @client.event async def on_ready(): log_main.info('on_ready') client.loop.create_task(refresh_twitter_updates(client, 2 * 60)) # every 2 min @client.event async def on_server_join(server): log_main.info('on_server_join \'%s\' (%s) owned by \'%s\'' % (server.name, server.id, server.owner.name)) @client.event async def on_server_remove(server): log_main.info('on_server_remove \'%s\' (%s) owned by \'%s\'' % (server.name, server.id, server.owner.name)) @client.event
async def on_server_remove(server): log_main.info( T_Log_RemovedServer.format(server.name, server.id, server.owner.name, server.owner.id)) await cleanup_removed_server(server.id)