コード例 #1
0
async def set_channel(server_data: DiskServerData, context: commands.Context, channel_id=None):
    channel = context.guild.get_channel(channel_id)

    if not channel_id:
        server_data.welcome_channel_id = context.channel.id
        await context.send(text.WELCOME_SET_CHANNEL_CURRENT)
    elif channel:
        server_data.welcome_channel_id = channel.id
        await context.send(text.WELCOME_SET_CHANNEL_OTHER)
    else:
        await context.send(OLD.universal_module.text.INVALID_CHANNEL_ID)
コード例 #2
0
async def give_karma(server_data: DiskServerData,
                     message: discord.Message,
                     give_karma_to,
                     karma_amount: int,
                     member=True):
    user_karma = server_data.member_karma.get(give_karma_to, 0)
    server_data.member_karma[give_karma_to] = user_karma + karma_amount
    if member:
        member_display_name = message.guild.get_member(
            give_karma_to).display_name
    else:
        member_display_name = "\"{}\"".format(give_karma_to)
    if karma_amount > 0:
        await message.channel.send(
            text.ADDED_KARMA_TO_MEMBER.format(
                karma_amount, member_display_name,
                server_data.member_karma[give_karma_to]))
        logger.debug(
            text.ADDED_KARMA_TO_MEMBER.format(
                karma_amount, member_display_name,
                server_data.member_karma[give_karma_to]))
    else:
        await message.channel.send(
            text.REMOVED_KARMA_FROM_MEMBER.format(
                -karma_amount, member_display_name,
                server_data.member_karma[give_karma_to]))
        logger.debug(
            text.REMOVED_KARMA_FROM_MEMBER.format(
                -karma_amount, member_display_name,
                server_data.member_karma[give_karma_to]))
コード例 #3
0
async def set_channel(server_data: DiskServerData,
                      context: commands.Context,
                      arg=None):
    # channel = context.guild.get_channel(int(universal_module.utils.get_numbers_legacy(arg)[0]))
    channel = context.guild.get_channel(
        OLD.universal_module.utils.get_numbers(arg))
    if arg and not channel:
        await context.send(OLD.universal_module.text.INVALID_CHANNEL_ID)
    elif channel:
        server_data.steam_announcement_channel_id = channel.id
        await context.send(text.ADMIN_SET_CHANNEL_SUCCESS)
    elif not arg:
        server_data.steam_announcement_channel_id = context.channel.id
        await context.send(text.ADMIN_SET_CHANNEL_CURRENT)
    else:
        await context.send(OLD.universal_module.text.SHOULD_NOT_ENCOUNTER_THIS)
コード例 #4
0
async def toggle(server_data: DiskServerData,
                 context: commands.Context,
                 arg=None):
    server_data.callout_delete_enabled, message = \
        OLD.universal_module.utils.toggle_feature(arg, "callout_delete", OLD.universal_module.utils.ENABLE_PHRASES,
                                                  OLD.universal_module.utils.DISABLE_PHRASES,
                                                  server_data.callout_delete_enabled)
    await context.send(message)
コード例 #5
0
async def toggle(server_data: DiskServerData, context: commands.Context, arg=None):
    if not context.guild.get_channel(server_data.welcome_channel_id):
        await context.send(text.WELCOME_TOGGLE_NO_CHANNEL)
    else:
        server_data.welcome_enabled, message = \
            OLD.universal_module.utils.toggle_feature(arg, "welcome", OLD.universal_module.utils.ENABLE_PHRASES,
                                                      OLD.universal_module.utils.DISABLE_PHRASES, server_data.welcome_enabled)
        await context.send(message)
コード例 #6
0
async def set_mute_role(server_data: DiskServerData, context: commands.Context, role_mention=None):
    role = OLD.universal_module.utils.get_role_from_mention(context.guild, role_mention)
    if not role_mention:
        await context.send(text.MUTE_ADMIN_SET_ROLE_HELP)
        logger.debug("User {} didn't specify any arguments.".format(context.author.display_name))
    elif not role:
        await context.send(OLD.universal_module.text.INVALID_ROLE_ID)
        logger.debug("User {} specified an invalid role.".format(context.author.display_name))
    else:
        server_data.warn_role_id = role.id
        await context.send(text.MUTE_ADMIN_SET_ROLE_SUCCESS)
        logger.debug("User {} set role {}: {}.".format(context.author.display_name, role.id, role.name))
コード例 #7
0
async def callout_delete(server_data: DiskServerData,
                         message: discord.Message):
    try:
        if not message.author.bot and await check_audit_message_delete(
                message, message.author):
            await message.channel.send(
                random.sample(REMIND_DELETE_PHRASES,
                              1)[0].format(message.content,
                                           message.author.mention))
    except discord.errors.Forbidden as ex:
        if ex.code == 50013:
            server_data.callout_delete_enabled = False
            await message.channel.send(
                text.CALLOUT_DELETE_MISSING_AUDIT_PERMISSION)
コード例 #8
0
async def process_server_game(guild_data: DiskServerData, channel: discord.TextChannel, game_id: int):
    url = urllib.request.urlopen(BASE_STEAM_GET_NEWS_FOR_APP.format(game_id))
    full_data = json.loads(url.read().decode())
    if full_data and full_data.get("appnews", None) and full_data["appnews"].get("newsitems", None) and \
            len(full_data["appnews"]["newsitems"]) > 0:
        data = full_data["appnews"]["newsitems"][0]
        past_announce_ids = guild_data.get_steam_announcement_past_ids(game_id)
        if data.get("gid", None) and int(data["gid"]) not in past_announce_ids:
            logger.debug("Actually processing game announcement. Game ID: {}  Announcement ID: {}".format(game_id,
                                                                                                          data["gid"]))
            logger.debug("Adding announcement ID {} to storage.".format(data["gid"]))
            past_announce_ids.add(int(data["gid"]))
            logger.debug("Added!")
            await channel.send(embed=data_embed_creator(data))
コード例 #9
0
async def unset_mute_role(server_data: DiskServerData, context: commands.Context):
    server_data.mute_role_id = 0
    await context.send(text.MUTE_ADMIN_UNSET_ROLE_SUCCESS)
    logger.debug("User {} unset the role to mute people with.".format(context.author.display_name))
コード例 #10
0
async def unset_channel(server_data: DiskServerData,
                        context: commands.Context):
    server_data.steam_announcement_channel_id = 0
    await context.send(text.ADMIN_UNSET_SUCCESS)
コード例 #11
0
async def toggle(server_data: DiskServerData, context: commands.Context,
                 arg: str):
    server_data.faq_enabled, message = OLD.universal_module.utils.toggle_feature(
        arg, "faq", OLD.universal_module.utils.ENABLE_PHRASES,
        OLD.universal_module.utils.DISABLE_PHRASES, server_data.faq_enabled)
    await context.send(message)
コード例 #12
0
async def unset_channel(server_data: DiskServerData, context: commands.Context):
    server_data.welcome_channel_id = 0
    await context.send(text.WELCOME_UNSET_SUCCESS)