Implement groupchats in the adapter for Lita
This commit is contained in:
parent
55f2c56259
commit
67941b4cc8
1 changed files with 19 additions and 1 deletions
|
@ -41,6 +41,20 @@ module Lita
|
||||||
message.command!
|
message.command!
|
||||||
robot.receive(message)
|
robot.receive(message)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@tox.on_group_invite do |friend_number, data|
|
||||||
|
@tox.join_groupchat(friend_number, data)
|
||||||
|
end
|
||||||
|
|
||||||
|
@tox.on_group_message do |group_number, peer_number, text|
|
||||||
|
unless @tox.group_peernumber_is_ours(group_number, peer_number)
|
||||||
|
user = User.new(-1 - peer_number) # TODO
|
||||||
|
source = Source.new(user: user, room: group_number)
|
||||||
|
message = Message.new(robot, text, source)
|
||||||
|
|
||||||
|
robot.receive(message)
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def run
|
def run
|
||||||
|
@ -59,7 +73,11 @@ module Lita
|
||||||
|
|
||||||
def send_messages(target, messages)
|
def send_messages(target, messages)
|
||||||
messages.reject(&:empty?).each do |message|
|
messages.reject(&:empty?).each do |message|
|
||||||
@tox.friend_send_message(target.user.id.to_i, message)
|
if target.user.id.to_i >= 0
|
||||||
|
@tox.friend_send_message(target.user.id.to_i, message)
|
||||||
|
else
|
||||||
|
@tox.group_message_send(target.room.to_i, message)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Reference in a new issue