我使用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。
任何帮助都将不胜感激。
答案 0 :(得分:0)
在您提出问题时,Discord没有网络响声。对于任何可能发现此问题的人,我仍然在这里留下答案。
您将要使用discordrb-webhooks gem在频道中发送消息。
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指向不和谐...)