Discordrb webhook bot与selly.gg

时间:2017-04-04 01:40:29

标签: ruby discord

我使用selly.gg webhook在我的discord bot上遇到了麻烦。

require 'sinatra'
require 'discordrb'

post 'my.ip/webhook' do

  bot = Discordrb::Bot.new token: 'BOT_TOKEN', client_id: 224301993223651329
  type = params[:webhook_type].to_i

  case type
    # Order paid
    when 1
      bot.send_message(
        '180341842041110528',
        "#{params[:id]} has been paid - #{params[:value]}"
      )
    # Order chargeback
    when 2
      bot.send_message(
        '180341842041110528',
        "#{params[:id]} has chargedback - #{params[:value]}"
      )
    else
      # Do nothing
  end

bot.run

  bot.run
end

这应该向我的不和谐服务器发布消息,但是,我甚至不能尝试这个A.)我对IP和webhook以及B有疑虑。)BOT甚至没有出现在我的网上服务器。它使用端口转发的端口4567。我在selly.gg上的动态网址看起来像http://MY.IP:4567/webhook

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:0)

在您提出问题时,Discord没有网络响声。对于任何可能发现此问题的人,我仍然在这里留下答案。

您将要使用discordrb-webhooks gem在频道中发送消息。

Discordrb::Webhooks::Client

require "sinatra"
require "discordrb/webhooks"

post 'my.ip/webhook' do
  client = Discordrb::Webhooks::Client.new(url: "https://discordapp.com/api/webhooks/6391/TSCsF")
  client.execute do |builder|
    type = params[:webhook_type].to_i

    case type
    # Order paid
    when 1
      builder.content = "#{params[:id]} has been paid - #{params[:value]}"
    # Order chargeback
    when 2
      builder.content = "#{params[:id]} has chargedback - #{params[:value]}"
    else
      # Do nothing
    end
  end
end

您可以使用Discordrb::Webhooks::Builder

进一步修改消息

(输入所有我意识到的内容时,您最好直接将selly.gg指向不和谐...)