前回の記事で作成したDiscordBotを改良したい人向けの記事を書きました。
[ 作成方法 ]
「token」と「channelID」は前回の記事のものに書き換えてください。
ボットがオンラインになったらメッセージを送る
下記のコードを「main.py」にコピペして保存します。
import discord import server token = 'hogehogehogehogehoge' channelID = piyopiyopiyopiyopiyo intents = discord.Intents.all() client = discord.Client(intents=intents) @client.event async def on_ready(): channel = client.get_channel(channelID) await channel.send(f"Bot is ready.") server.reboot() client.run(token)
メンションされたら返信する
下記のコードを「main.py」にコピペして保存します。
import discord import server token = 'hogehogehogehogehoge' intents = discord.Intents.all() client = discord.Client(intents=intents) @client.event async def on_message(message): if message.author == client.user: return if client.user in message.mentions: await message.channel.send(f"Hello.") server.reboot() client.run(token)
特定のメッセージにリアクションする
下記のコードを「main.py」にコピペして保存します。
import discord import server token = 'hogehogehogehogehoge' intents = discord.Intents.all() client = discord.Client(intents=intents) @client.event async def on_message(message): if message.author == client.user: return if message.content == "焼肉": await message.add_reaction("🥓") await message.add_reaction("🍖") await message.add_reaction("🍗") server.reboot() client.run(token)
特定のメッセージの後に画像を送信する
下記のコードを「main.py」にコピペして保存します。
import discord import server token = 'hogehogehogehogehoge' intents = discord.Intents.all() client = discord.Client(intents=intents) @client.event async def on_message(message): if message.author == client.user: return if message.content == "焼肉": await message.channel.send(file=discord.File("Yakiniku.jpg")) server.reboot() client.run(token)
英語を日本語に、日本語を英語に翻訳する
下記のコードを「main.py」にコピペして保存します。
import discord import server from deep_translator import GoogleTranslator token = 'hogehogehogehogehoge' intents = discord.Intents.all() client = discord.Client(intents=intents) @client.event async def on_message(message): if message.author == client.user: return if message.content.startswith("/entojp "): sentence = str(message.content)[8:] translated = GoogleTranslator(source="en", target="ja").translate(sentence) await message.channel.send(translated) if message.content.startswith("/jptoen "): sentence = str(message.content)[8:] translated = GoogleTranslator(source="ja", target="en").translate(sentence) await message.channel.send(translated) server.reboot() client.run(token)