【问题标题】:Discord Ruby bot does not respond to user joiningDiscord Ruby 机器人不响应用户加入
【发布时间】:2021-09-16 21:12:56
【问题描述】:

我正在创建一个与自定义数据库交互的简单机器人。当用户以不和谐的方式加入服务器时,机器人必须获取他的 ID 并将其与数据库中的 ID 进行比较。我决定从小处着手,只是问候用户。 编写一些简单的代码后,机器人启动时没有任何问题,但是当用户加入服务器时,机器人根本没有响应。我尝试了其他命令,例如:channel_create,机器人会响应它们

附:除此功能外,机器人代码中还有其他命令。 Ruby v2.5.2

require 'pg'
require 'discordrb'
require 'dotenv/load'

bot = Discordrb::Commands::CommandBot.new(token: 'TOKEN',
                                          client_id: 'client_id',
                                          prefix: '!')

bot.member_join do
  bot.send_message(channel_id, 'Hi!')
end

bot.run

【问题讨论】:

    标签: ruby discord bots


    【解决方案1】:

    我之前没有使用过 discord gem,但文档说您需要在代码中调用 bot.run 来告诉机器人运行。您的代码示例中似乎没有该行。

    https://github.com/shardlab/discordrb#usage

    【讨论】:

    • 哦,对不起,我忘了在附加的代码中添加这个,但原来的bot.run 包含。
    【解决方案2】:

    我能够让机器人响应“Ping!”但是我无法触发“member_join”事件。

    这是我的代码:

    require 'discordrb'
    
    
    bot = Discordrb::Bot.new token: 'mytoken'
    
    puts "This bot's invite URL is #{bot.invite_url}."
    puts 'Click on it to invite it to your server.'
    
    bot.member_join do |event|
      puts 'this never seems to run' 
      event.send_message('Hi!')
    end
    
    bot.message(content: 'Ping!') do |event|
      puts 'this runs fine'
      event.respond 'Pong!'
    end
    
    bot.run
    

    我的建议是在这里打开 Gem 的问题:https://github.com/shardlab/discordrb/issues

    【讨论】:

      猜你喜欢
      • 2021-07-22
      • 1970-01-01
      • 2021-05-25
      • 1970-01-01
      • 2023-02-10
      • 2019-08-14
      • 2021-03-11
      • 2020-04-02
      相关资源
      最近更新 更多