ガリガリベーコン・コゲコゲ焼き

discordのbot作ってる。音割れbotに触発されたんだ。

 

とりあえず作り方置くね

私の環境:窓10,64bit,python3.6

 

 

 参考にしたサイト

qiita.com

qiita.com

github.com

 

まず一番上を試してみよう。偉大なる先人たちに感謝を。

 

 

 挨拶を返すbotなんだけど、「おはよう」だけじゃさみしいので「こんばんは」も追加しようと試みた。

 

 (以下一部抜粋)

@client.event
async def on_message(message):
if message.content.startswith("おはよう"):
m = "おはよう"
await client.send_message(message.channel, m)

 

ここを

 

@client.event
async def on_message(message):
if message.content.startswith("おはよう"):
m = "おはよう"

if message.content.startswith("こんばんわ"):
m = "こんばんわ"
await client.send_message(message.channel, m)

 

こうした

 

もし、「おはよう」って打ったら「おはよう」って返事する仕組みだね

でも「こんばんは」の部分を(適当に)追加したらbotが立ち上がらなくなっちゃった

 

すこし弄り回してるうちに、asyncが関係するのではないか...?(当てずっぽう)とおもうようになった

よく見たらリンク二つ目のbotみると複数反応できるじゃん。

 

import  asyncio

 

ん?なにこれ。(非同期モジュールっていうらしい)

調べたらループに関係するっぽいのでとりあえず書いてみた。

 

 

 

 

立ち上がった!!!!!

さっそくお返事テスト!!!!!!

 

f:id:h_aijin:20180628230409j:plain

 

うるせえ

 

 

 

 

 

もっと勉強しなきゃね。そう思いました。

 

 

追記7/3:原因解ったよ。botの発言を無視する命令が入ってないね。自分のおはように反応してああなったんだな