aboutsummaryrefslogtreecommitdiffstats
path: root/protocols/bee_chat.c
Commit message (Collapse)AuthorAgeLines
* Turn purple_chatlist_free() into a imcb_chat_list_free()dequis2016-10-16-0/+17
| | | | | I found myself copypasting this to jabber. Might as well make it part of the API.
* Rename bee_chat_list_finish() to imcb_chat_list_finish()dequis2016-10-16-1/+7
| | | | | | | | | bee_chat_list_finish is still available as a deprecated function but it will be removed before the next stable release It has never been part of any release, just keeping it for a while for the sake of being polite to the users of the discord plugin who may be using the experimental chat list branch.
* Added an interface for the listing of existing chatroomsjgeboski2016-09-19-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Several protocols can provide a list of existing chatrooms that a user is able join. This is crucial for the usage of several protocols, most notably Purple and Facebook. Plugins wishing to support this extended functionality must implement the new prpl->chat_list() function. This implemented function will in most cases send a remote request for the list of chatrooms. Once the list of chatrooms is obtained, a bee_chat_info_t GSList must be created and assigned to the im_connection->chatlist field. Then a call to the bee_chat_list_finish() is needed to display the list to the user. The chat list is maintained entirely by the plugin, so it is important to ensure all pointers related to the chat list remain valid until the chat list is set to NULL. This list is used internally by bitlbee to calculate indexes, which then allows the user to join a chat with an index, rather than some random identifier. It also important to ensure the list is properly freed whenever it is updated, or when the account is disconnect via the prpl->logout() function. On the user interface side of things, the 'chat list' subcommand was recommissioned. For a user to list the existing chat rooms: chat list <account id> Afterwards a user can join a chatroom in the list with its index. This extends the functionality of the 'chat add' subcommand by adding in support for the exclamation point operator to denote an index. chat add <account id> !<index> [channel]
* IRC self-message support (messages sent by yourself from other clients)dequis2015-10-30-5/+4
| | | | | | | | | | | | | | | | | | | | | | This adds an OPT_SELFMESSAGE flag that can be passed to imcb_buddy_msg() or imcb_chat_msg() to indicate that the protocol knows that the message being sent is a self message. This needs to be explicit since the old behavior is to silently drop these messages, which also removed server echoes. This commit doesn't break API/ABI, the flags parameters that were added are all internal (between protocols and UI code) On the irc protocol side, the situation isn't very nice, since some clients put these messages in the wrong window. Irssi, hexchat and mirc get this wrong. Irssi 0.8.18 has a fix for it, and the others have scripts to patch it. But meanwhile, there's a "self_messages" global setting that lets users disable this, or get them as normal messages / notices with a "->" prefix, which loosely imitates the workaround used by the ZNC "privmsg_prefix" module.
* Pass 'reason' values around in imcb_chat_remove_buddy/chat_remove_userdequis2015-08-08-1/+1
|
* Reindent everything to K&R style with tabsIndent2015-02-20-137/+158
| | | | | | | Used uncrustify, with the configuration file in ./doc/uncrustify.cfg Commit author set to "Indent <please@skip.me>" so that it's easier to skip while doing git blame.
* Add handle_is_self() prpl function to fix JID mismatch confusion bugsdequis2015-01-25-4/+11
| | | | | | | | | When bee_chat needs to check for self messages, it can call this function to let the protocol implementation do the comparison. In the case of jabber, sometimes the server reports a different username after login, this one is stored in jd->internal_jid, and the one that is used for login isn't changed
* bee-chat: create temporary users for unknown chat participantsjgeboski2015-01-16-3/+9
| | | | | | | | The imcb_chat_msg() function is unable to send messages to a chat with a user who was not previously added. This function should allow for the sending of messages with users who are not added. This is suitable for protocols which are sending messages to a chat from random users or a large amount of users which join and part frequently.
* Fix incorrect Free Software Foundation addressMatej Cepl2015-01-16-2/+2
|
* Fix NULL pointer dereference when removing nicks from groupchats.Wilmer van der Gaast2010-09-06-1/+1
|
* Process incoming XMPP groupchat invites in a saner way: Create a temporaryWilmer van der Gaast2010-08-23-0/+8
| | | | | channel the user can easily /join.
* Restore add_* handle_unknown settings.Wilmer van der Gaast2010-06-03-1/+1
|
* Misc. cleanup. Also updated the Yahoo! module to deal with struct groupchatWilmer van der Gaast2010-05-08-0/+15
| | | | | in a GSList so that a default config fully compiles again.
* Support for receiving chatroom topics. Since I didn't restore named chatroomWilmer van der Gaast2010-05-08-12/+9
| | | | | support I could only test this using gdb.
* Restored imcb_chat_name_hint().Wilmer van der Gaast2010-05-08-50/+4
|
* Restored support for outgoing messages. This code is all so much saner now..Wilmer van der Gaast2010-05-08-0/+20
|
* Users leaving really show up again.Wilmer van der Gaast2010-05-08-16/+13
|
* Support for receiving messages in chatrooms.Wilmer van der Gaast2010-05-08-28/+16
|
* Would be nice to include bee_chat.c in the repo...Wilmer van der Gaast2010-05-08-0/+263