python
1 2#バージョンはpython3ですmacでやっています 3# インストールした discord.py を読み込む 4import discord 5import requests 6import mysql.connector 7 8 9# 自分のBotのアクセストークンに置き換えてください 10TOKEN = 'ODkzNzU1NjU1NzcxNTI5MjM2.YVgE0Q.hZDpPZgk68sD1d6OifTE8HcJqY4' 11# 接続に必要なオブジェクトを生成 12client = discord.Client() 13 14import requests 15import mysql.connector 16datas = [] 17def output_weather(arg1): 18 datas = [] 19 url = 'https://weather.tsukumijima.net/api/forecast/city/{}'.format(arg1) 20 api_data = requests.get(url).json() 21 if len(api_data) > 0: 22 if api_data['forecasts'][0]['temperature']['min'] is not None: 23 min_temp = api_data['forecasts'][0]['temperature']['min']['celsius'] 24 print(api_data['forecasts'][0]) 25 else: 26 min_temp = '-' 27 if api_data['forecasts'][0]['temperature']['max'] is not None: 28 max_temp = api_data['forecasts'][0]['temperature']['max']['celsius'] 29 else: 30 max_temp = '-' 31 datas.append([ api_data['forecasts'][0]['date'], api_data['location']['city'], min_temp, max_temp, api_data['forecasts'][0]['telop'] ]) 32 else: 33 print('failed') 34 35output_weather('130010') 36 37# 起動時に動作する処理 38@client.event 39async def on_ready(): 40 # 起動したらターミナルにログイン通知が表示される 41 print('ログインしました') 42 43# メッセージ受信時に動作する処理 44@client.event 45async def on_message(message): 46 # メッセージ送信者がBotだった場合は無視する 47 if message.author.bot: 48 return> 49@client.event # イベントを受信するための構文(デコレータ) 50async def on_message(message): 51 if message.content == '/weather': 52 msg = (datas[0][1] + 'の' + '天気は{}です。'.format(datas[0][4]) + '最高気温は{}度です'.format(max_temp)) 53 54#課題:1.天気を返すようにする(def使って)2.botのコマンドを使えるようにする(調べる) 55 56 57# Botの起動とDiscordサーバーへの接続 58client.run(TOKEN)
あなたの回答
tips
プレビュー