Discordに橘ありすbotを作る

はじめに


Discordのbotで「ありす〇〇」と言うと「橘です!!」と言ってくれるありすが欲しかったため簡単に作りました。

コード


pythonで記述してます

# インストールした discord.py を読み込む
import discord
import re 
# 自分のBotのアクセストークンに置き換えてください
TOKEN = 'NjE5MDEwOTgyMTMxMjY5NjM4.○○○○........'

# 接続に必要なオブジェクトを生成
client = discord.Client()

# 起動時に動作する処理
@client.event
async def on_ready():
    # 起動したらターミナルにログイン通知が表示される
    print('ありすログインしました')

# メッセージ受信時に動作する処理
@client.event
async def on_message(message):
    # メッセージ送信者がBotだった場合は無視する
    if message.author.bot:
        return
    # 「/○○ありす○○」と発言したら「橘です!!」が返る処理
    if re.search(r'ありす',message.content) :
        await message.channel.send('橘です!!!')

# Botの起動とDiscordサーバーへの接続
client.run(TOKEN)

説明


引用先からほぼお借りしています 変更点は import re if re.search(r'ありす',message.content) を付け加えています。 message.contentで文字列を取得してre.searchで部分一致させることで条件分岐させています。 re.searchは部分一致 re.matchは先頭文字一致 *re.fullmatchは完全一致 となっているのでbotごとに使い分けるといいです

実行


f:id:tomi-tomi-pon:20190906121533p:plain

ありすカワイイイ これでchannel内にも賑やかになります。

これから時間をセットして応答させるなど幅広いbotに活用できそうです。

おわり

引用先


【初心者向け】DiscordのBotを作る上で知っておくといいこと - Qiita 【python】re.match より re.search を使おう - Qiita