Ich habe ein Skript für einen Discord Bot geschrieben. Jedoch führt dieser nur einen Befehl aus, anstatt mehrere auszuführen.
Code: Alles auswählen
import discord
import random
import aiohttp
from discord import Game
from discord.ext.commands import Bot
import asyncio
BOT_PREFIX = ("?", "!")
client = Bot(command_prefix=BOT_PREFIX)
@client.command(name='8ball',
description="Answers a yes/no question.",
brief="Answers from the beyond.",
aliases=['eight_ball', 'eightball', '8-ball'],
pass_context=True)
async def eight_ball(context):
possible_responses = [
'That is a resounding no',
'It is not looking likely',
'Too hard to tell',
'It is quite possible',
'Definitely',
]
await client.say(random.choice(possible_responses) + ", " + context.message.author.mention)
@client.command()
async def square(number):
squared_value = int(number) * int(number)
await client.say(str(number) + " squared is " + str(squared_value))
@client.event
async def on_ready():
await client.change_presence(game=Game(name="mit Bumblebee38"))
print("Logged in as " + client.user.name)
@client.command()
async def bitcoin():
url = 'https://api.coindesk.com/v1/bpi/currentprice/BTC.json'
async with aiohttp.ClientSession() as session: # Async HTTP request
raw_response = await session.get(url)
response = await raw_response.json(content_type='application/javascript')
await client.say("Bitcoin price is: $" + response['bpi']['USD']['rate'])
@client.event
async def on_message(message):
if message.content == "!drive":
userID = message.author.id
if message.author.id == "#USER-TOKEN":
await client.send_message(message.channel, "Du kannst schlecht Auto fahren!")
else:
await client.send_message (message.channel, "Du kannst gut Auto fahren!")
@client.event
async def on_message(message):
if message.content == "!hunger":
userID = message.author.id
if message.author.id == "#USER-TOKEN":
await client.send_message(message.channel, "Für dich gibt es essen")
else:
await client.send_message (message.channel, "Du bekommst kein essen")
async def list_servers():
await client.wait_until_ready()
while not client.is_closed:
print("Current servers:")
for server in client.servers:
print(server.name)
await asyncio.sleep(600)
client.loop.create_task(list_servers())
client.run("#BOT-TOKEN")