今日は予定もなかったので近所の美術館に行ってました
Discordで天気予報Botを作りました。
といってもQiitaのこの記事の丸パクリです。
https://qiita.com/drumath2237/items/de92bea97080891ce6c6
ただここにあるコードをコピペしてもバージョンが古いのかわかりませんが動きませんでした。
いろいろ書き換えても動かなくて苦戦してたのですが、前に作った簡単なチャットbotを見返したらすぐに原因がわかって解決。
最後の方のmessageの部分を変えるだけでした。
一体に何に悩んでたんだろうと。。。
まあよくあることなんでしょうね。
以下コード
---------------------------------------------------------------------------------------------------
import discord
import urllib.request
import json
import re
client = discord.Client()
citycodes = {
"土浦": '080020',
"水戸": '080010',
"札幌": '016010',
"仙台": '040010',
"東京": '130010',
"横浜": '140010',
"長野": '200010',
"名古屋": '230010',
"大阪": '270000',
"広島": '340010',
"福岡": '400010',
"鹿児島": '460010',
}
@client.event
print("logged in as " + client.user.name)
@client.event
if message.author != client.user:
reg_res = re.compile(u"(.+)の天気").search(message.content)
if reg_res:
if reg_res.group(1) in citycodes.keys():
citycode = citycodes[reg_res.group(1)]
resp = urllib.request.urlopen('http://weather.livedoor.com/forecast/webservice/json/v1?city=%s'%citycode).read()
msg = resp['location']['city']
msg += "の天気は、\n"
for f in resp['forecasts']:
msg += f['dateLabel'] + "が" + f['telop'] + "\n"
msg += "です。"
await message.channel.send(msg)
-----------------------------------------------------------------------------------------------------
次はInstagramの自動いいねをするものを作ろうと思います。