简体   繁体   English

检查消息是否由 DM (discord.py) 中的用户发送,然后将他们的消息从直接消息发送到某个频道?

[英]Check if a message was sent by a user in a DM (discord.py) then send their message from a direct message into a certain channel?

msg_dump_channel = 1234
@bot.event
async def on_message(message: discord.Message):
    channel = bot.get_channel(msg_dump_channel)
    if str(message.author) == "user":
        await channel.send(message.content)
    await bot.process_commands(message)

This is my code, I know that DMs don't have a guild, so how would you write it for a DM?这是我的代码,我知道DM没有公会,那么你会如何为DM编写它?

discord.Message objects have a channel attribute that you can use for your check: discord.Message对象具有可用于检查的channel属性:

@bot.event
async def on_messsage(message)
    if isinstance(message.channel, discord.DMChannel) and str(message.author) ==  'user':
        channel = bot.get_channel(channel_id)
        await channel.send(message.content)
    else:
        pass

    bot.process_commands(message)
        

this should work for an example这应该是一个例子

@bot.event
async def on_message(message)
guild = message.guild
if not guild:
    print(" DM: {0.author.name} : {0.content}".format(message))

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM