Discord.py Bot Stops Responding After I Add A New Block Of Code
im new to python and discord.py, this is a repost with updated details and without the block of code that was hard to understand. I have not found an answer to this problem online
Solution 1:
Blocking code
It appears that the synchronous code in the on_ready
event is what is hanging the bot; waiting for input from the console halts any other code from running, including reacting to commands.
The only way to fix this is to design your announcement command in a different way that doesn't involve using your console, such as having it be a command for your bot.
Sidenote about discord.Client()
Since you're using the lower-level API (discord.Client
), you may find it more difficult to develop new commands for your bot. I would recommend using the bot commands framework (discord.ext.commands
) that discord.py comes packaged with. The pitch is in the link so instead, here's an example using the framework with your boop command:
import time
import discord
from discord.ext import commands
prefix = 'c!'
TOKEN = ''
client = commands.Bot(command_prefix=prefix)
@client.eventasyncdefon_ready():
print('Logged in as', client.user.name)
@client.command(name='boop')asyncdefclient_boop(ctx, user: discord.User):
"""Boops a user.
Accepted inputs are: ID, mention, name#discrim, or name
Example: c!boop thegamecracks"""await user.send('**Boop!**')
await ctx.channel.send("Booped " + user.name)
current_time = time.strftime("%H:%M:%S", time.localtime())
log_channel = client.get_channel(759798825161326593)
LogMsg = '`{}` {} used command in {} `{}`'.format(
current_time,
ctx.author.name,
ctx.channel.name,
ctx.message.content
)
await log_channel.send(LogMsg)
client.run(TOKEN)
Post a Comment for "Discord.py Bot Stops Responding After I Add A New Block Of Code"