class Rubirai::MessageEvent
The base class for message events @abstract
Public Instance Methods
gen_quote()
click to toggle source
Generates a quote message from this event
@return [QuoteMessage] the quote message
# File lib/rubirai/message.rb, line 136 def gen_quote QuoteMessage.from( id: @message_chain.id, group_id: @sender.is_a?(GroupUser) ? @sender.group.id : 0, sender_id: @sender.id, target_id: @sender.is_a?(GroupUser) ? @sender.group.id : @bot.qq, origin: @message_chain.raw, bot: @bot ) end
respond(*msgs, quote: false)
click to toggle source
Respond to a message event
@param msgs [Array<Rubirai::Message, Hash
, String
, Object>] messages to form a chain @param quote [Boolean] if to quote the original message @return [Integer] message id
# File lib/rubirai/message.rb, line 118 def respond(*msgs, quote: false) check_bot msgs.prepend(gen_quote) if quote case self when FriendMessageEvent @bot.send_friend_msg(@sender.id, *msgs) when GroupMessageEvent @bot.send_group_msg(@sender.group.id, *msgs) when TempMessageEvent @bot.send_temp_msg(@sender.id, @sender.group.id, *msgs) else raise 'undefined error' end end
Private Instance Methods
check_bot()
click to toggle source
# File lib/rubirai/message.rb, line 149 def check_bot raise RubiraiError, 'no bot found in event' unless @bot end