Skip to content

Instantly share code, notes, and snippets.

@SeolHa314
Last active August 31, 2019 08:23
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save SeolHa314/b15cb0ffd2a171ff181fc27617a3d1d3 to your computer and use it in GitHub Desktop.
Save SeolHa314/b15cb0ffd2a171ff181fc27617a3d1d3 to your computer and use it in GitHub Desktop.
gets dere info from deresute.me
import discord
import asyncio
import aiohttp
import os
async def asyncDereInfoSend(message, userID):
async with aiohttp.ClientSession() as session:
async with session.get("https://deresute.me/{}/json".format(userID)) as resp:
userData = await resp.json()
if "api_error" in userData.keys():
await message.channel.send("api error : " + str(userData["api_error"]))
elif "name" in userData.keys():
await message.channel.send(userData["name"] + " " + str(userData["level"]) + " " + userData["comment"])
else:
await message.channel.send("Wrong response. Contact developer.")
class discordClient(discord.Client):
async def on_ready(self):
print("Bot logged on as", self.user)
async def on_message(self, message):
# We don't need to respond to ourselves
if message.author == self.user:
return
splitedMessage = message.content.split(' ')
# All commands start with mirei
if splitedMessage[0] == "mirei":
# For test ping
if splitedMessage[1] == "test":
await message.channel.send("test pong")
# CGSS user info
elif splitedMessage[1] == "info":
# Process game info asyncronously to prevent programme from hogging
await asyncDereInfoSend(message, splitedMessage[2])
bot = discordClient()
bot.run(os.environ["DISCORDBOT_TOKEN"])
@SeolHa314
Copy link
Author

비동기 작동하게 만듬.
게임 정보 가져오는데 시간이 너무 많이 걸려서 그럼.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment