aboutsummaryrefslogtreecommitdiffstats
path: root/irc_channel.c
Commit message (Collapse)AuthorAgeLines
* Reindent everything to K&R style with tabsIndent2015-02-20-470/+502
| | | | | | | 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.
* irc_commands: implemented KICK supportjgeboski2015-01-29-0/+19
| | | | | | | | | | | With similar commands being supported, such as INVITE, the KICK command should be supported as well. The key motivation behind supporting KICK is having for having a way to remove users from group chats. As of now, there is no way for a bitlbee user to remove a user from a group chat. With no current KICK implementation, it made using this command a prime candidate for the UI side of this implementation. In addition, the KICK command has been supported in the control channel as well. This is to keep the INVITE/KICK pair consistent.
* irc-channel: implemented a special mode for show_usersjgeboski2015-01-28-6/+8
| | | | | | | | | | | | | This allows for users to be declared as being special, which does not have any specific meaning. The meaning of being special is different from protocol-to-protocol, which many protocols do not even implement. This functionality is mainly geared towards a special user state which only some protocols may actually need to define. For example, with the third-party Steam plugin, this can be used for denoting a user which is actively playing a game. By default, this mode will not actually be used by any plugin. However, it does default to the half-operator user mode.
* channel: fixed auto-join occurring when disabledjgeboski2015-01-16-1/+1
| | | | | | | | | | | | | | With the auto_join channel flag set to false, the channel is still auto-joined. This can lead to the channel being "doubly" joined if a client previously sent a channel join request. The result of being "doubly" joined is really undefined, but most notably memory leaks can occur. It also appears, based on the comment under the modified condition, the previous condition was incorrect. Another patch should probably implement some sort of check to ensure a channel is not already joined, assuming the auto_join flag is enabled.
* Replace isdigit/isalpha/.../tolower/toupper with glib variantsdequis2015-01-16-2/+2
| | | | | | | | | | | This fixes warnings about passing signed chars to them (apparently they are implemented as macros that do array lookups without checks in some platforms, yay) Specifically: functions=isalnum|isalpha|isdigit|isspace|isxdigit|tolower|toupper sed -ir "s/$functions/g_ascii_&/g" **/*.c
* Fix incorrect Free Software Foundation addressMatej Cepl2015-01-16-2/+2
|
* Don't save the "type" channel setting, it's an XML attribute already. ThisWilmer van der Gaast2013-10-14-1/+4
| | | | | | fix is ugly as it's putting a detail relevant to XML storage elsewhere in the code. But I don't think we should have any other storage formats anyway.
* I'm still bored on a long flight. Wrote a script to automatically updateWilmer van der Gaast2013-02-21-1/+1
| | | | | | | my copyright mentions since some were getting pretty stale. Left files not touched since before 2012 alone so that this change doesn't touch almost EVERY source file.
* ! modified for control channel fill_by setting to for example create aWilmer van der Gaast2013-02-21-18/+38
| | | | | | separate control channel with all contacts *not* in a certain group/from a certain IM account/network, etc.
* Fixing NULL pointer dereference in irc_channel_free(). This seems to happenWilmer van der Gaast2012-02-17-1/+5
| | | | | | | for example when the user gets invited to a channel that already exists. Separately, I should handle invites like that better. Will file a bug for that.
* Clean up pastebuf_timer when cleaning up channels, and properly clean upWilmer van der Gaast2010-12-02-0/+2
| | | | | | | channel-chatroom reference when leaving a chatroom. This fixes two very similar crash bugs when leaving a chatroom within the paste_buffer_delay period.
* Added irc_channel_with_user() function to find a suitable channel to showWilmer van der Gaast2010-11-20-0/+37
| | | | | a user's message in, instead of just &bitlbee by default.
* Force the default/first channel to be a control channel, fixing one crashWilmer van der Gaast2010-10-01-1/+1
| | | | | bug and preventing a generally confusing and undesirable setup.
* Added some neat whatsnew code that keeps track of the newest version ofWilmer van der Gaast2010-08-21-0/+1
| | | | | | | | | | BitlBee used by a user, and if it looks like s/he hasn't used this one before, show a list of new features that may be interesting. Since I don't think im.bitlbee.org users will read any changelogs ever, this is probably not a bad idea. If you hate it, the following command should get rid of it forever: set last_version 9999999
* blist should only show contacts that are (or would be if they were online)Wilmer van der Gaast2010-08-14-0/+25
| | | | | in the current channel.
* Set channel mode +C for control channels.Wilmer van der Gaast2010-08-04-0/+50
|
* Restore default_target setting, kill last_root_cmd variable and just useWilmer van der Gaast2010-07-29-18/+13
| | | | | the last_channel variable, like for any other user.
* Clean up references from irc_user structs to channels that are being free()d.Wilmer van der Gaast2010-07-29-0/+9
|
* Use the account tag in a few places and store it in the XML file as anWilmer van der Gaast2010-07-24-1/+1
| | | | | attribute, not as a setting (since all accounts have it anyway).
* Whoops. Small memory management screw-up.Wilmer van der Gaast2010-07-19-1/+3
|
* One of the last few things I wanted to get done in this branch: combiningWilmer van der Gaast2010-07-18-0/+48
| | | | | | show_offline and away_devoice and possibly other ideas into one setting called show_users. Documentation will come soon. :-P
* Move control channel autoconfiguration to irc_cmd_join() instead so that itWilmer van der Gaast2010-07-14-18/+0
| | | | | | only triggers on channels created by the user. (And not at identify time, which was causing odd problems on my test setup.)
* Kick the user instead of parting him/her when cleaning up a channel. This isWilmer van der Gaast2010-07-04-3/+8
| | | | | what the older version also did so that Irssi won't clean up the window.
* Added automatic joining of channels. Auto-rejoin functionality forWilmer van der Gaast2010-07-04-1/+48
| | | | | groupchats not reimplemented yet but that's the next step.
* Disable the code added in the previous change during shutdown, since it'sWilmer van der Gaast2010-07-01-1/+7
| | | | | pointless at that stage and may cause crashes.
* Flush channels when the user leaves them. Also, don't update a controlWilmer van der Gaast2010-07-01-0/+11
| | | | | channel if the user isn't in it.
* Also, automatically set up per-protocol channels if the name's a protocolWilmer van der Gaast2010-06-30-0/+4
| | | | | name.
* Also allow selecting contacts for a channel by protocol instead of account.Wilmer van der Gaast2010-06-30-0/+22
| | | | | | If someone has two MSN accts and wants contacts from both in one channel, this is now possible.
* An empty string is not a valid channel name.Wilmer van der Gaast2010-06-28-0/+3
|
* Callers shouldn't have to expect that irc_channel_del_user() frees the channelWilmer van der Gaast2010-06-28-1/+35
| | | | | so if it wants to (temporary channels), do it via a timer.
* Mark nameless groupchat channels as temporary so they don't stick aroundWilmer van der Gaast2010-06-28-0/+5
| | | | | forever.
* irc_channel_name_strip() instead of nick_strip().Wilmer van der Gaast2010-06-27-0/+11
|
* Remember in which channel the user talked to someone and show responses inWilmer van der Gaast2010-06-26-1/+1
| | | | | that same channel.
* More correct handling of channel names (according to RFC 1459). PrettyWilmer van der Gaast2010-06-16-10/+49
| | | | | | much any 8-bit character is allowed in there - while nicknames are very restricted.
* Allow moving contacts around between groups. Works with at least Jabber,Wilmer van der Gaast2010-06-09-1/+21
| | | | | will check the others now.
* Some cleanup improvements.Wilmer van der Gaast2010-06-08-0/+7
|
* Restore "ops" command completely, and set user op status *just* beforeWilmer van der Gaast2010-06-07-4/+28
| | | | | s/he joins.
* Added "channel list" command and the ability to use only part of theWilmer van der Gaast2010-06-07-2/+42
| | | | | channel name or a number in "chan set"/etc.
* Added /part msgs, and the ability to silently remove users from channelsWilmer van der Gaast2010-06-06-4/+4
| | | | | (when sending a /quit instead, for example).
* Chatroom improvements. Merged chatroom stub into normal chatroom stuff,Wilmer van der Gaast2010-06-05-47/+3
| | | | | | restored "chat add" behaviour a little bit better (don't clean up a channel when its room disappears, just disconnect it from the groupchat).
* Bug fixes, control channel behaviour is mostly okay again.Wilmer van der Gaast2010-06-05-2/+9
|
* Put the control channel settings into user-changeable settings.Wilmer van der Gaast2010-06-05-11/+100
|
* Just enough code to join named chatrooms again. This UI is *not* final, the ↵Wilmer van der Gaast2010-05-14-1/+19
| | | | | | | | "chat" command will probably mostly stick around for bw compatibility. Still thinking about how this should work eventually.
* Fixed irc_channel_name_ok(): One-character channel names are okay, also theWilmer van der Gaast2010-05-10-1/+12
| | | | | first character after the prefix *can* be a number.
* Per-account channels also exist now.Wilmer van der Gaast2010-05-09-0/+2
|
* /join &groupname and all people in that group will be in that channel.Wilmer van der Gaast2010-05-09-0/+5
|
* First bits for different channel types.Wilmer van der Gaast2010-05-09-0/+23
|
* No. Run the part handler from the IRC /PART command, not from irc_channel.c.Wilmer van der Gaast2010-05-09-4/+0
| | | | | This was causing troubles with Twitter at disconnect time.
* This is how you now start groupchats: /join #channel, /invite people.Wilmer van der Gaast2010-05-09-1/+33
|
* Also allow addressing people inside the control channel using a comma.Wilmer van der Gaast2010-05-08-2/+2
|