【发布时间】:2022-04-03 13:40:35
【问题描述】:
我有一个关于 discord.py 的问题。我有一个将嵌入消息转发到另一个不和谐频道的代码,但它给了我一个错误。我该如何解决?
错误:
Ignoring exception in on_message
Traceback (most recent call last):
File "C:\Users\USER\AppData\Roaming\Python\Python310\site-packages\discord\client.py", line 301, in _run_event
await coro(*args, **kwargs)
File "C:\Users\USER\Desktop\newBodyguard\d2d.py", line 27, in on_message
await channeltosend.send(message.content, embed=message.embeds[0])
File "C:\Users\USER\AppData\Roaming\Python\Python310\site-packages\discord\abc.py", line 1061, in send
data = await state.http.send_message(channel.id, content, tts=tts, embed=embed,
File "C:\Users\USER\AppData\Roaming\Python\Python310\site-packages\discord\http.py", line 302, in request
raise HTTPException(r, data)
discord.errors.HTTPException: 400 Bad Request (error code: 50006): Cannot send an empty message
import discord
from discord import channel
USER_DISCORD_TOKEN = 'u3VulQw33THPGbPlx_aUHC.............'
channel1id = 12844415 #source channel
channel2id = 71038106 #target channel
async def on_ready():
print("Copier is ready")
class MyClient(discord.Client):
async def on_ready(self):
print('Logged on as', self.user)
async def on_message(self, message):
try:
serverName = message.guild.name
channelId = message.channel.id
channelName = message.channel.name
except AttributeError:
pass
print(f"Server: {serverName}, Channel: {channelName}")
if message.channel.id == channel1id:
channeltosend = client.get_channel(channel2id)
await channeltosend.send(message.content, embed=message.embeds[0])
print(message)
print('****************')
print(message.embeds)
client = MyClient()
client.run(USER_DISCORD_TOKEN)
编辑:我添加了两行但仍然是相同的错误(discord.errors.HTTPException:400 Bad Request(错误代码:50006):无法发送空消息)。任何人都可以分享完整的代码。我错了吗?
import discord
from discord import channel
USER_DISCORD_TOKEN = 'TOKEN HERE'
channel1id = 823473 #source
channel2id = 910981 #dest
async def on_ready():
print("Bot is ready")
class MyClient(discord.Client):
async def on_ready(self):
print('Logged on as', self.user)
async def on_message(self, message):
try:
serverName = message.guild.name
channelId = message.channel.id
channelName = message.channel.name
print(f"Server: {serverName}, Channel: {channelName}")
if message.channel.id == channel1id:
channeltosend = client.get_channel(channel2id)
await channeltosend.send(message.content, embed=message.embeds[0])
print(message)
print('****************')
print(message.embeds)
except AttributeError:
pass
print(f"Server: {serverName}, Channel: {channelName}")
client = MyClient()
client.run(USER_DISCORD_TOKEN)
编辑 1:发送的消息是“@deleted 角色”
async def on_ready(): print("机器人准备好了")
类 MyClient(discord.Client):
async def on_ready(self):
print('Logged on as', self.user)
async def on_message(self, message):
try:
serverName = message.guild.name
channelId = message.channel.id
channelName = message.channel.name
print(f"Server: {serverName}, Channel: {channelName}")
if message.channel.id == channel1id:
channeltosend = client.get_channel(channel2id)
await channeltosend.send(message.content, embed=message.embeds[0])
print(message)
print('****************')
print(message.embeds)
except discord.errors.HTTPException:
pass
print(f"Server: {serverName}, Channel: {channelName}")
客户 = 我的客户() client.run(USER_DISCORD_TOKEN)
【问题讨论】:
标签: python discord.py