How Do I Send A Message To A Specific Channel? Discord/python
How do I send a message to a specific channel? Why am I getting this Error ? My ChannelID is right Code: from discord.ext import commands client = commands.Bot(command_prefix='!'
Solution 1:
The reason for the error is because channel = client.get_channel() is called before the bot is connected, meaning it will always return None as it cannot see any channels (not connected).
Move this to inside your command function to have it get the channel object as the command is called.
Also note that since version 1.0, snowflakes are now int type instead of str type. This means you need to use client.get_channel(693503765059338280) instead of client.get_channel('693503765059338280').
from discord.ext import commands
client = commands.Bot(command_prefix='!')
@client.eventasyncdefon_ready():
print('Bot wurde gestartet: ' + client.user.name)
@client.command()asyncdeftest(ctx,name_schuh,preis,festpreis):
channel = client.get_channel(693503765059338280)
await channel.send("Name:" + name_schuh +"\n Preis: " + preis +"\n Festpreis: " + festpreis)
client.run('token')
Solution 2:
client and channel are out of scope. You can use global keyword for a dirty hack:
from discord.ext import commands
client = commands.Bot(command_prefix='!')
channel = client.get_channel(693503765059338280)
@client.eventasyncdefon_ready():
global client
print('Bot wurde gestartet: ' + client.user.name)
#wts @client.command()asyncdeftest(ctx,name_schuh,preis,festpreis):
global client
global channel
await channel.send(discord.Object(id=693503765059338280),"Name:" + name_schuh +"\n Preis: " + preis +"\n Festpreis: " + festpreis)
But the better alternative would be a handler class that holds the instances.
Post a Comment for "How Do I Send A Message To A Specific Channel? Discord/python"