目標
ボットがエラー出したときにWebhookでエラーを通知してもらう。
環境
・Python3.7
・discord.py rewrite
・discord-webhook 0.4.1
インストール等
することが多いので略します。
★pipでインストールできます。
さっそくソースコード
2つファイルが必要です。
webhookerror.py
from discord_webhook import DiscordWebhook, DiscordEmbed
from discord_webhook import DiscordWebhook, DiscordEmbed
def error_log(message):
webhook = DiscordWebhook(url='WebhookのURL',username="Webhookの名前")
data=":exclamation: " + message+":exclamation:"
embed = DiscordEmbed(title='エラー', description=data, color=0xff0000)
webhook.add_embed(embed)
webhook.execute()
main.py
from discord.ext import commands
import discord
from discord.ext import commands as c
bot = commands.Bot(command_prefix='!', activity=d.Activity(name='ボットのエラーをWebhookで流します!', type=d.ActivityType.watching))
import webhookerror
#botのおかしなエラーをすべて取得。
@bot.event
async def on_command_error(ctx,error):
webhookerror.error_log("エラーが発生しました:" +str(error)+"\nServername:"+str(ctx.guild.name)+"\nName:"+str(ctx.author))
#流れるかテストするためのコマンド
@bot.command()
async def test(ctx):
prin()
実行
実行してみましょう!
Webhookからメッセージが送信されたら成功です!
最後に
今回はエラーをWebhookにエラー文を流せるようにしてみました。
そして、
discord.py rewrite 正式リリースおめでとうございます!
追記:なんでdiscord.pyのWebhookのやつ使わなかったかっていうと使い方がわかんなかったから。