Пример #1
0
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])
Пример #2
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)
Пример #3
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)
Пример #4
0
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])
Пример #5
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
Пример #6
0
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)
Пример #7
0
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)
Пример #8
0
async def cleanup_removed_server(serverid):
    db.remove_server(serverid)
    log_main.info(T_Log_CleanRemovedServer.format(serverid))
Пример #9
0
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)
Пример #10
0
async def on_server_remove(server):
    log_main.info('on_server_remove \'%s\' (%s) owned by \'%s\'' % (server.name, server.id, server.owner.name))
Пример #11
0
async def on_ready():
    log_main.info('on_ready')
    client.loop.create_task(refresh_twitter_updates(client, 2 * 60))  # every 2 min
Пример #12
0
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
Пример #13
0
async def cleanup_removed_server(serverid):
    db.remove_server(serverid)
    log_main.info(T_Log_CleanRemovedServer.format(serverid))
Пример #14
0
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)