projects
/
NeonServV5.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
ca7f642
)
fixed invi join for BNC bots
author
pk910
<philipp@zoelle1.de>
Wed, 14 Dec 2011 21:15:14 +0000
(22:15 +0100)
committer
pk910
<philipp@zoelle1.de>
Wed, 14 Dec 2011 21:16:13 +0000
(22:16 +0100)
src/IRCParser.c
patch
|
blob
|
history
src/WHOHandler.c
patch
|
blob
|
history
diff --git
a/src/IRCParser.c
b/src/IRCParser.c
index d1189bb7adaca0569fd05f910ba489fa03654452..c3fe086640afe7b54797ff80ee914bf5c879d8b8 100644
(file)
--- a/
src/IRCParser.c
+++ b/
src/IRCParser.c
@@
-202,7
+202,7
@@
static IRC_CMD(raw_join) {
//request member list
chan->chanbot = user;
struct ChanUser *chanuser = addChanUser(chan, user); //it must be a bot
//request member list
chan->chanbot = user;
struct ChanUser *chanuser = addChanUser(chan, user); //it must be a bot
- get_userlist(chan, got_channel_userlist, chanuser);
+ get_userlist
_with_invisible
(chan, got_channel_userlist, chanuser);
putsock(client, "MODE %s", chan->name);
putsock(client, "MODE %s +b", chan->name);
} else if(!isUserOnChan(user, chan) && ((chan->flags & CHANFLAG_RECEIVED_USERLIST) || isBot(user))) {
putsock(client, "MODE %s", chan->name);
putsock(client, "MODE %s +b", chan->name);
} else if(!isUserOnChan(user, chan) && ((chan->flags & CHANFLAG_RECEIVED_USERLIST) || isBot(user))) {
diff --git
a/src/WHOHandler.c
b/src/WHOHandler.c
index f7287a3cf367a48cad2f0543f0b22d1b342d72a1..ab1b0c0251d862d9b3c3cb8b0eb951952b4d1d6d 100644
(file)
--- a/
src/WHOHandler.c
+++ b/
src/WHOHandler.c
@@
-224,7
+224,7
@@
void recv_whohandler_354(struct ClientSocket *client, char **argv, unsigned int
struct UserNode *user = getUserByNick(argv[4]);
struct ChanUser *chanuser;
struct UserNode *user = getUserByNick(argv[4]);
struct ChanUser *chanuser;
- if((chanuserflags & CHANUSERFLAG_INVISIBLE) &&
!isBot(user
)) {
+ if((chanuserflags & CHANUSERFLAG_INVISIBLE) &&
(!user || !isBot(user)
)) {
user = createTempUser(argv[4]);
user->flags |= USERFLAG_ISTMPUSER;
chan->flags |= CHANFLAG_HAVE_INVISIBLES;
user = createTempUser(argv[4]);
user->flags |= USERFLAG_ISTMPUSER;
chan->flags |= CHANFLAG_HAVE_INVISIBLES;
@@
-237,7
+237,7
@@
void recv_whohandler_354(struct ClientSocket *client, char **argv, unsigned int
if(!(chanuser = getChanUser(user, chan))) {
chanuser = addChanUser(chan, user);
}
if(!(chanuser = getChanUser(user, chan))) {
chanuser = addChanUser(chan, user);
}
- chanuser->flags = (chanuser->flags & ~
CHANUSERFLAG_OPPED_OR_VOICED
) | chanuserflags;
+ chanuser->flags = (chanuser->flags & ~
(CHANUSERFLAG_OPPED_OR_VOICED | CHANUSERFLAG_INVISIBLE)
) | chanuserflags;
}
user->flags = (user->flags & ~USERFLAG_ISIRCOP) | userflags;
user->last_who = time(0);
}
user->flags = (user->flags & ~USERFLAG_ISIRCOP) | userflags;
user->last_who = time(0);