+static int is_firstBotSeeUser(struct ClientSocket *client, struct UserNode *user) {
+ struct ClientSocket *bot, *pref_bot = NULL, *unpref_bot = NULL;
+ struct ChanUser *chanuser;
+ int found;
+ for(bot = getBots(SOCKET_FLAG_READY, NULL); bot; bot = getBots(SOCKET_FLAG_READY, bot)) {
+ found = 0;
+ for(chanuser = getUserChannels(bot->user, NULL); chanuser; chanuser = getUserChannels(bot->user, chanuser)) {
+ if(isUserOnChan(user, chanuser->chan)) {
+ found = 1;
+ break;
+ }
+ }
+ if(!found) continue;
+ if(bot->flags & SOCKET_FLAG_PREFERRED) {
+ pref_bot = bot;
+ break;
+ } else
+ unpref_bot = bot;
+ }
+ bot = (pref_bot ? pref_bot : unpref_bot);
+ if(client == bot)
+ return 1;
+ else
+ return 0;
+}
+