Archived
1
0
Fork 0

Remove group chats

This commit is contained in:
Braiden Vasco 2017-07-20 18:54:19 +00:00
parent 2ef744ce3b
commit 614d239264
4 changed files with 1 additions and 168 deletions

View file

@ -28,11 +28,6 @@ have_library LIBTOXCORE, 'tox_friend_add_norequest' and
have_library LIBTOXCORE, 'tox_friend_send_message' and have_library LIBTOXCORE, 'tox_friend_send_message' and
have_library LIBTOXCORE, 'tox_callback_friend_request' and have_library LIBTOXCORE, 'tox_callback_friend_request' and
have_library LIBTOXCORE, 'tox_callback_friend_message' and have_library LIBTOXCORE, 'tox_callback_friend_message' and
have_library LIBTOXCORE, 'tox_join_groupchat' and
have_library LIBTOXCORE, 'tox_group_message_send' and
have_library LIBTOXCORE, 'tox_callback_group_invite' and
have_library LIBTOXCORE, 'tox_callback_group_message' and
have_library LIBTOXCORE, 'tox_group_peernumber_is_ours' and
have_library LIBTOXCORE, 'tox_self_get_name_size' and have_library LIBTOXCORE, 'tox_self_get_name_size' and
have_library LIBTOXCORE, 'tox_self_get_name' and have_library LIBTOXCORE, 'tox_self_get_name' and
have_library LIBTOXCORE, 'tox_self_set_name' and have_library LIBTOXCORE, 'tox_self_set_name' and

View file

@ -40,9 +40,6 @@ static VALUE cTox_kill(VALUE self);
static VALUE cTox_loop(VALUE self); static VALUE cTox_loop(VALUE self);
static VALUE cTox_friend_add_norequest(VALUE self, VALUE key); static VALUE cTox_friend_add_norequest(VALUE self, VALUE key);
static VALUE cTox_friend_send_message(VALUE self, VALUE friend_number, VALUE text); static VALUE cTox_friend_send_message(VALUE self, VALUE friend_number, VALUE text);
static VALUE cTox_join_groupchat(VALUE self, VALUE friend_number, VALUE data);
static VALUE cTox_group_message_send(VALUE self, VALUE group_number, VALUE text);
static VALUE cTox_group_peernumber_is_ours(VALUE self, VALUE group_number, VALUE peer_number);
static VALUE cTox_name(VALUE self); static VALUE cTox_name(VALUE self);
static VALUE cTox_name_ASSIGN(VALUE self, VALUE name); static VALUE cTox_name_ASSIGN(VALUE self, VALUE name);
static VALUE cTox_status_message(VALUE self); static VALUE cTox_status_message(VALUE self);
@ -63,24 +60,6 @@ static void on_friend_message(
size_t length, size_t length,
VALUE self); VALUE self);
static void on_group_invite(
Tox *tox,
int32_t friend_number,
uint8_t type,
const uint8_t *data,
uint16_t length,
VALUE self
);
static void on_group_message(
Tox *tox,
int group_number,
int peer_number,
const uint8_t *text,
uint16_t length,
VALUE self
);
typedef struct Tox_Options cTox_cOptions_; typedef struct Tox_Options cTox_cOptions_;
static VALUE cTox_cOptions; static VALUE cTox_cOptions;
@ -105,9 +84,6 @@ void Init_tox()
rb_define_method(cTox, "loop", cTox_loop, 0); rb_define_method(cTox, "loop", cTox_loop, 0);
rb_define_method(cTox, "friend_add_norequest", cTox_friend_add_norequest, 1); rb_define_method(cTox, "friend_add_norequest", cTox_friend_add_norequest, 1);
rb_define_method(cTox, "friend_send_message", cTox_friend_send_message, 2); rb_define_method(cTox, "friend_send_message", cTox_friend_send_message, 2);
rb_define_method(cTox, "join_groupchat", cTox_join_groupchat, 2);
rb_define_method(cTox, "group_message_send", cTox_group_message_send, 2);
rb_define_method(cTox, "group_peernumber_is_ours", cTox_group_peernumber_is_ours, 2);
rb_define_method(cTox, "name", cTox_name, 0); rb_define_method(cTox, "name", cTox_name, 0);
rb_define_method(cTox, "name=", cTox_name_ASSIGN, 1); rb_define_method(cTox, "name=", cTox_name_ASSIGN, 1);
rb_define_method(cTox, "status_message", cTox_status_message, 0); rb_define_method(cTox, "status_message", cTox_status_message, 0);
@ -170,14 +146,6 @@ VALUE cTox_initialize_with(const VALUE self, const VALUE options)
tox_callback_friend_request(tox->tox, (tox_friend_request_cb*)on_friend_request, (void*)self); tox_callback_friend_request(tox->tox, (tox_friend_request_cb*)on_friend_request, (void*)self);
tox_callback_friend_message(tox->tox, (tox_friend_message_cb*)on_friend_message, (void*)self); tox_callback_friend_message(tox->tox, (tox_friend_message_cb*)on_friend_message, (void*)self);
tox_callback_group_invite(
tox->tox,
(void (*)(struct Tox *, int32_t, uint8_t, const uint8_t *, uint16_t, void *))on_group_invite,
(void*)self);
tox_callback_group_message(
tox->tox,
(void (*)(struct Tox *, int, int, const uint8_t *, uint16_t, void *))on_group_message,
(void*)self);
return self; return self;
} }
@ -321,65 +289,6 @@ VALUE cTox_friend_send_message(const VALUE self, const VALUE friend_number, cons
)); ));
} }
VALUE cTox_join_groupchat(const VALUE self, const VALUE friend_number, const VALUE data)
{
cTox_ *tox;
// Don't know yet how to check for integers
// Check_Type(friend_number, T_INTEGER);
Check_Type(data, T_STRING);
Data_Get_Struct(self, cTox_, tox);
return INT2FIX(tox_join_groupchat(
tox->tox,
NUM2LONG(friend_number),
(uint8_t*)RSTRING_PTR(data),
RSTRING_LEN(data)
));
}
VALUE cTox_group_message_send(const VALUE self, const VALUE group_number, const VALUE text)
{
cTox_ *tox;
// Don't know yet how to check for integers
// Check_Type(group_number, T_INTEGER);
Check_Type(text, T_STRING);
Data_Get_Struct(self, cTox_, tox);
return INT2FIX(tox_group_message_send(
tox->tox,
NUM2LONG(group_number),
(uint8_t*)RSTRING_PTR(text),
RSTRING_LEN(text)
));
}
VALUE cTox_group_peernumber_is_ours(
const VALUE self,
const VALUE group_number,
const VALUE peer_number)
{
cTox_ *tox;
// Don't know yet how to check for integers
// Check_Type(group_number, T_INTEGER);
// Check_Type(peer_number, T_INTEGER);
Data_Get_Struct(self, cTox_, tox);
if (tox_group_peernumber_is_ours(
tox->tox,
NUM2INT(group_number),
NUM2INT(peer_number))
)
return Qtrue;
else
return Qfalse;
}
VALUE cTox_name(const VALUE self) VALUE cTox_name(const VALUE self)
{ {
cTox_ *tox; cTox_ *tox;
@ -498,51 +407,6 @@ void on_friend_message(
); );
} }
static void on_group_invite(
Tox *const tox,
const int32_t friend_number,
const uint8_t type,
const uint8_t *const data,
const uint16_t length,
const VALUE self)
{
VALUE rb_on_group_invite;
rb_on_group_invite = rb_iv_get(self, "@on_group_invite");
if (Qnil != rb_on_group_invite)
rb_funcall(
rb_on_group_invite,
rb_intern("call"),
2,
LONG2FIX(friend_number),
rb_str_new((char*)data, length)
);
}
static void on_group_message(
Tox *const tox,
const int group_number,
const int peer_number,
const uint8_t *const text,
const uint16_t length,
const VALUE self)
{
VALUE rb_on_group_message;
rb_on_group_message = rb_iv_get(self, "@on_group_message");
if (Qnil != rb_on_group_message)
rb_funcall(
rb_on_group_message,
rb_intern("call"),
3,
LONG2FIX(group_number),
LONG2FIX(peer_number),
rb_str_new((char*)text, length)
);
}
/****************************************************************************** /******************************************************************************
* Tox::Options * Tox::Options
******************************************************************************/ ******************************************************************************/

View file

@ -45,20 +45,6 @@ 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
@ -77,11 +63,7 @@ module Lita
def send_messages(target, messages) def send_messages(target, messages)
messages.reject(&:empty?).each do |message| messages.reject(&:empty?).each do |message|
if target.user.id.to_i >= 0 @tox.friend_send_message(target.user.id.to_i, message)
@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

View file

@ -50,12 +50,4 @@ class Tox
def on_friend_message(&block) def on_friend_message(&block)
@on_friend_message = block @on_friend_message = block
end end
def on_group_invite(&block)
@on_group_invite = block
end
def on_group_message(&block)
@on_group_message = block
end
end end