dispander.rb
discorb で出来た Bot にメッセージ展開の機能を追加する Extension。

DiscordBotPortalJP/dispander の Ruby 版。
インストール
Gemfile に以下を追記し...
gem 'dispander'
これを実行してください。
$ bundle install
または...
$ gem install dispander
使い方
Extension として読み込む
require "discorb"
require "dispander"
client = Discorb::Client.new
client.once :standby do
puts "Logged in as #{client.user}"
end
client.load_extension(Dispander::Core)
client.run ENV["DISCORD_BOT_TOKEN"]
手動で実行する
Dispander::Core#dispandでメッセージを展開、Dispander::Core#delete_messageで展開したメッセージを削除できます。
require "discorb"
require "dispander"
client = Discorb::Client.new
dispander = Dispander::Core.new(client)
client.on :message do ||
next if ..bot?
dispander.dispand()
end
client.on :reaction_add do |event|
dispander.(event)
end
client.run ENV["DISCORD_BOT_TOKEN"]
削除の絵文字を変更する
Dispander#delete_emojiに絵文字を指定するか、Client#load_extensionに引数として追加してください。
client.load_extension(Dispander::Core, delete_emoji: Discorb::UnicodeEmoji["x"])
展開条件を変更する
Dispander#should_expand?をオーバーライドしてください。
dispander = Dispander::Core.new(client)
def dispander.(, ids)
ENV["ALLOWED_GUILDS"].split(",").include?(ids[0])
end
client.load_extension(dispander)
ライセンス
MIT Licenseで公開しています。