Ejemplo n.º 1
0
from discord import Game
from discord.ext.commands import Bot, when_mentioned_or
from sentry_sdk import configure_scope

from cdbot.log import DiscordHandler

logger = logging.getLogger(__name__)

bot = Bot(command_prefix=when_mentioned_or("...", ":"),
          activity=Game(name=":help"))

logger.addHandler(DiscordHandler(bot))
logger.setLevel(logging.INFO)

bot.muted = []
bot.banned_ids = []
bot.log = logger


@bot.before_invoke
async def register_metadata(ctx):
    """Attach additional data to sentry events."""
    with configure_scope() as scope:
        scope.user = {"id": ctx.author.id, "username": str(ctx.author)}
        scope.set_context("client_os", {
            "name": system(),
            "version": release()
        })
        scope.set_tag("command", ctx.message.content)
        scope.set_tag("channel", str(ctx.channel))