80 lines
2.3 KiB
Ruby
80 lines
2.3 KiB
Ruby
|
|
#!/usr/bin/env ruby
|
||
|
|
# 检查 Webhook 配置
|
||
|
|
|
||
|
|
require_relative 'config/environment'
|
||
|
|
|
||
|
|
puts "=== Webhook 配置检查 ==="
|
||
|
|
puts ""
|
||
|
|
|
||
|
|
# 1. 检查 Account 2
|
||
|
|
account = Account.find(2)
|
||
|
|
puts "✅ Account ID: #{account.id}"
|
||
|
|
puts " Name: #{account.name}"
|
||
|
|
puts ""
|
||
|
|
|
||
|
|
# 2. 检查 Webhooks
|
||
|
|
webhooks = account.webhooks
|
||
|
|
puts "📊 Webhooks 数量: #{webhooks.count}"
|
||
|
|
puts ""
|
||
|
|
|
||
|
|
if webhooks.count == 0
|
||
|
|
puts "⚠️ 没有配置 Webhook!"
|
||
|
|
puts ""
|
||
|
|
puts "💡 创建 Webhook 的方法:"
|
||
|
|
puts " 在 Rails console 中执行:"
|
||
|
|
puts ""
|
||
|
|
puts " account = Account.find(2)"
|
||
|
|
puts " account.webhooks.create!("
|
||
|
|
puts " webhook_url: 'https://your-domain.com/webhook',"
|
||
|
|
puts " subscriptions: ['conversation_created', 'message_created'],"
|
||
|
|
puts " active: true"
|
||
|
|
puts " )"
|
||
|
|
else
|
||
|
|
webhooks.each do |webhook|
|
||
|
|
puts "━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
||
|
|
puts "Webhook ID: #{webhook.id}"
|
||
|
|
puts "URL: #{webhook.webhook_url}"
|
||
|
|
puts "启用: #{webhook.active ? '✅ 是' : '❌ 否'}"
|
||
|
|
puts "订阅事件: #{webhooks.subscriptions.inspect}"
|
||
|
|
puts "重试次数: #{webhook.retry_frequency}"
|
||
|
|
puts ""
|
||
|
|
end
|
||
|
|
end
|
||
|
|
|
||
|
|
# 3. 检查最近的 Webhook 调用
|
||
|
|
puts "━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
||
|
|
puts "📋 最近的 Webhook 调用日志:"
|
||
|
|
puts ""
|
||
|
|
|
||
|
|
recent_logs = account.webhook_logs.order(created_at: :desc).limit(5)
|
||
|
|
|
||
|
|
if recent_logs.count == 0
|
||
|
|
puts "⚠️ 没有 Webhook 调用记录"
|
||
|
|
else
|
||
|
|
recent_logs.each do |log|
|
||
|
|
puts "ID: #{log.id}"
|
||
|
|
puts "事件: #{log.event_type}"
|
||
|
|
puts "状态: #{log.status}"
|
||
|
|
puts "响应码: #{log.response_code}"
|
||
|
|
puts "创建时间: #{log.created_at}"
|
||
|
|
puts "错误: #{log.error_message || '无'}"
|
||
|
|
puts ""
|
||
|
|
end
|
||
|
|
end
|
||
|
|
|
||
|
|
# 4. 检查是否有 message_created 事件订阅
|
||
|
|
puts "━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
||
|
|
puts "🔍 检查 message_created 事件订阅:"
|
||
|
|
|
||
|
|
has_subscription = webhooks.any? { |w| w.subscriptions.include?('message_created') }
|
||
|
|
|
||
|
|
if has_subscription
|
||
|
|
puts "✅ 已订阅 message_created 事件"
|
||
|
|
else
|
||
|
|
puts "❌ 未订阅 message_created 事件"
|
||
|
|
puts ""
|
||
|
|
puts "💡 添加订阅的方法:"
|
||
|
|
puts " webhook = Webhook.find(1)"
|
||
|
|
puts " webhook.update(subscriptions: ['conversation_created', 'message_created', 'message_updated'])"
|
||
|
|
end
|