当前位置: 首页 > 知识库问答 >
问题:

Discord Bot加入消息不起作用

芮意
2023-03-14

你好,我尝试了很多命令来修复它,但是机器人什么也没做。这是我的代码。该文件是bot。派克

import discord
import os 
from discord.ext import commands

class MyClient(discord.Client):
    async def on_ready(self):
        print('Logged on as {0}!'.format(self.user))

    async def on_message(self, message):
        print('Message from {0.author}: {0.content}'.format(message))

client = MyClient()

@client.event
async def on_ready():
    print(f'{client.user.name} Test!')
    
    
###############

bot = commands.Bot(command_prefix="!")
@bot.event
async def on_guild_join(guild):
    if guild.system_channel:
        await guild.system_channel.send("Test")

#@client.event
#async def on_member_join(member):
#    await ctx.author.send("Welcome!")

##*@client.event
#async def on_member_join(member):
   
#   await member.create_dm()
   
   
#   await member.send(
#   f'Hallo{member.name}, Willkommen'
#   )


为什么不起作用?我尝试了很多命令/模型。我用记事本来编程。给它一个比用Python编程更好的程序?也许对初学者来说是什么?

共有1个答案

宗乐池
2023-03-14

你不能同时使用discord。客户端命令。Bot,选择其中一个。

命令。Bot与discord基本相同。客户端但具有额外命令功能
-

# so first remove the client part in your code

# and define the Bot | you can name it 'bot' or 'client' 
# bot = commands.Bot(command_prefix="!")
# is the same as 
# client = commands.Bot(command_prefix="!")

# also make sure to enable Intents
intents = discord.Intents.default()
intents.member = True
bot = commands.Bot(command_prefix="!", intents=intents)


#now you can add events
@bot.event
async def on_guild_join(guild):
    if guild.system_channel:
        await guild.system_channel.send("Test")

@bot.event
async def on_member_join(member):
    await member.send("welcome!")


# and commands
@bot.command()
async def slap(ctx, member: discord.Member):
    await ctx.send(f"{ctx.author} gave {member} a slap")



# at the very end run your bot
bot.run('BOT TOKEN')
 类似资料:
  • 问题内容: 我正在运行用于Firefox的Selenium Webdriver(最新版本)。每次开始测试时,我都会从Windows本身收到一条错误消息,指出Firefox崩溃了。当我按下“强制关闭”按钮时,测试将按原样开始。 我是Eclipse和Selenium的新手,但是在调试器模式下,我没有找到有问题的代码(这么多线程同时运行)。.并没有尝试查找Windows日志,但是也许有些人知道解决方案我

  • 我想让我的机器人只读取DM消息,并将其发送到不和谐的渠道,但我的代码垃圾邮件消息无限,垃圾邮件5次,然后它暂停几秒钟,然后再次垃圾邮件,机器人也不只读取DM消息,并读取公会消息,所以如果我在公会里发送任何东西,它会发送垃圾邮件。 我到底想要什么?如果有人发送“你好!”(消息内容)到DM中的bot,bot需要发送'Hello!'(消息内容)到指定的频道(日志频道)。

  • 再一次,我的代码没有跟上,我不知道为什么。。。控制台显示没有错误。 这是我的密码:

  • 我尝试在我的机器人上实现一个延迟功能,以一个接一个地显示多条消息。延迟特性显示在我的Flow Bot Builder图表中,但当我在conversation tester和Messenger上的代理Bot中测试时,延迟实际上并没有发生--所有消息都同时显示。 我已经将IDE中的延迟代码添加到default.scr文件中: 我还按照下面的指示将options.apikey代码行添加到index.js

  • 问题内容: 当我使用表单操作提交表单数据时,我能够将消息闪回。 查看表格: 注册.HTML 现在,我正在使用ajax,不再显示Flash消息。 我的观点来处理表格数据: 我的布局页面使用以下代码段进行闪烁: 问题答案: 闪烁的消息存储为会话的一部分,并在服务器端呈现模板时检索。客户端JavaScript无法访问会话cookie。即使是这样,也不容易在JavaScript中解码。即使您可以解码它,也

  • 机器人发送嵌入消息(包含文本和gif)。然而,gif根本不加载。一切似乎都在为其他命令工作,但这个特定的命令不工作。我真的不知道,请帮帮我。我的代码: 下面是这条消息的图片: