前提・実現したいこと
指定したチャンネルに地震情報を流したい
該当のソースコード
python
1import discord 2import json 3import requests 4 5client = discord.Client() 6 7@client.event 8async def on_ready(): 9 print('Logged in as') 10 print(client.user.name) 11 print(client.user.id) 12 print('------') 13 14@client.event 15async def on_message(message): 16 if channel.name == 'eew': 17 r = requests.get('http://svir.jp/eew/data.json') 18 eew = r.json() 19 embed=discord.Embed() 20 set = embed.add_field(name="地震情報", value=eew['Head']['Title'], inline=False) 21 embed.add_field(name="発表時刻", value=eew['Body']['Earthquake']['OriginTime'], inline=False) 22 embed.add_field(name="震源地", value=eew['Body']['Earthquake']['Hypocenter']['Name'], inline=False) 23 embed.add_field(name="マグニチュード", value=eew['Body']['Earthquake']['Magnitude'], inline=False) 24 embed.add_field(name="深さ", value=eew['Body']['Earthquake']['Hypocenter']['Depth'] + "km" , inline=False) 25 embed.add_field(name="予想震度[震源地付近の推定です]", value=eew['Body']['Intensity']['TextInt'], inline=False) 26 await client.send_message(message.channel, embed=embed) 27 28@client.event 29async def on_message(message): 30 if message.content.startswith('/quake-info'): 31 r = requests.get('https://api.p2pquake.net/v1/human-readable') 32 eew = r.json() 33 embed = discord.Embed() 34 embed.add_field(name="発生時刻: " , value=eew[0]['earthquake']['time'], inline=False) 35 embed.add_field(name="震源地: " , value=eew[0]['earthquake']['hypocenter']['name'], inline=True) 36 embed.add_field(name="深さ: " , value=eew[0]['earthquake']['hypocenter']['depth'], inline=False) 37 embed.add_field(name="マグニチュード:" , value=eew[0]['earthquake']['hypocenter']['magnitude'], inline=False) 38 embed.add_field(name="その他: " , value=eew[0]['earthquake']['domesticTsunami'], inline=True) 39 await client.send_message(message.channel, embed=embed) 40 41 if message.content.startswith('/eew'): 42 r = requests.get('http://svir.jp/eew/data.json') 43 eew = r.json() 44 embed=discord.Embed() 45 embed.add_field(name="地震情報", value=eew['Head']['Title'], inline=False) 46 embed.add_field(name="発表時刻", value=eew['Body']['Earthquake']['OriginTime'], inline=False) 47 embed.add_field(name="震源地", value=eew['Body']['Earthquake']['Hypocenter']['Name'], inline=False) 48 embed.add_field(name="マグニチュード", value=eew['Body']['Earthquake']['Magnitude'], inline=False) 49 embed.add_field(name="深さ", value=eew['Body']['Earthquake']['Hypocenter']['Depth'] + "km" , inline=False) 50 embed.add_field(name="予想震度[震源地付近の推定です]", value=eew['Body']['Intensity']['TextInt'], inline=False) 51 await client.send_message(message.channel, embed=embed) 52 53 if message.content.startswith('/zishin-set'): 54 if 'eew' in message.channel.name: 55 eew = True 56 await client.send_message(message.channel, "設定しました") 57 58client.run(token)
結果
/eew-set でやったが...
Blockgrass bot 今日 午前9時38分 設定しました <class 'set'>
回答2件
あなたの回答
tips
プレビュー