我正在尝试向特定频道发送消息。我仍然无法弄清楚该怎么做。非常感谢您的帮助。
import keep_alive
import discord
client = discord.Client()
channel = client.get_channel('ID'`enter code here`)
@client.event
async def on_ready():
print('We have logged in as {0.user}'.format(client))
@client.event
async def on_message(message):
if message.author == client.user:
return
if message.content.startswith('$hello'):
await channel.send('hello')
keep_alive.keep_alive()
client.run('ID')
答案 0 :(得分:0)
get_channel
在您拥有的地方无法使用,因为该漫游器尚未连接到不和谐状态(发生在run
中)。当漫游器连接时,它将建立它知道的所有事物(成员,行会,渠道等)的内部缓存。这些缓存是各种get方法使用的缓存,但是由于缓存为空,因此这些方法返回None
。
相反,您可以每次在on_message
中获取频道,或在on_ready
中使用全局变量:
@client.event
async def on_message(message):
if message.author == client.user:
return
if message.content.startswith('$hello'):
channel = client.get_channel(1234)
await channel.send('hello')