#include <ekg/plugins.h>
#include <ekg/sessions.h>
#include <ekg/stuff.h>
Idź do kodu źródłowego tego pliku.
Dokumentacja typów wyliczanych
- Wartości wyliczeń:
IRC_REJOIN_KICK |
|
IRC_REJOIN_CONNECT |
|
Dokumentacja funkcji
int irc_autorejoin |
( |
session_t * |
s, |
|
|
int |
when, |
|
|
char * |
chan | |
|
) |
| | |
irc_autorejoin()
Try to rejoin.
- Do zrobienia:
- We double check "REJOIN" if IRC_REJOIN_KICK
- Parametry:
-
| s | - session |
| when | - type of rejoining:
- IRC_REJOIN_CONNECT When we want to rejoin to all channels we had opened for example after /reconnect
- IRC_REJOIN_KICK When we want to rejoin to given channel (chan)
|
| chan | - if when == IRC_REJOIN_KICK than it specify to which channel we want to rejoin after kick. |
- Zwraca:
- 0 - if we send JOIN commands to ircd...
-1 - If smth went wrong.
int irc_onkick_handler |
( |
void * |
data, |
|
|
va_list |
ap | |
|
) |
| | |
irc_onkick_handler()
Handler for: IRC_KICK
Here we check if we were kicked (by checking nick) and if yes, than if we want to rejoin on kick (REJOIN && REJOIN_TIME)
Than after time specified by REJOIN_TIME we try to rejoin
- Zobacz również:
- irc_autorejoin() - for rejoin function
-
irc_autorejoin_timer() - for rejoin timer.
- Do zrobienia:
- We don't check if nick and chan is full uid.. It's I think correct.. However can be faulty.
- Parametry:
-
| ap | 1st param: (char *) session - session uid ap 2nd param: (char *) nick - full uid of kicked person (irc:nickname) ap 3rd param: (char *) chan - full uid of channel where kick event happen. ap 4th param: (char *) kickedby - full uid who kicked. |
| data | NULL |
- Zwraca:
- 1 - If no session, no irc session, or no private struct.
2 - If we are not interested in autorejoining [either smb else was kicked (not us) or REJOIN was not set]
3 - If we'll try to autorejoin