diff options
Diffstat (limited to 'src/core/bs_assign.c')
-rw-r--r-- | src/core/bs_assign.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/src/core/bs_assign.c b/src/core/bs_assign.c index 8a4c717d0..84ce81e68 100644 --- a/src/core/bs_assign.c +++ b/src/core/bs_assign.c @@ -43,12 +43,6 @@ class CommandBSAssign : public Command return MOD_CONT; } - if (bi->flags & BI_PRIVATE && !u->nc->HasCommand("botserv/assign/private")) - { - notice_lang(s_BotServ, u, PERMISSION_DENIED); - return MOD_CONT; - } - if (!(ci = cs_findchan(chan))) { notice_lang(s_BotServ, u, CHAN_X_NOT_REGISTERED, chan); @@ -61,18 +55,24 @@ class CommandBSAssign : public Command return MOD_CONT; } - if ((ci->bi) && (stricmp(ci->bi->nick, nick) == 0)) + if ((ci->botflags & BS_NOBOT) || (!check_access(u, ci, CA_ASSIGN) && !u->nc->HasPriv("botserv/administration"))) { - notice_lang(s_BotServ, u, BOT_ASSIGN_ALREADY, ci->bi->nick, chan); + notice_lang(s_BotServ, u, PERMISSION_DENIED); return MOD_CONT; } - if ((ci->botflags & BS_NOBOT) || (!check_access(u, ci, CA_ASSIGN) && !u->nc->HasPriv("botserv/administration"))) + if (bi->flags & BI_PRIVATE && !u->nc->HasCommand("botserv/assign/private")) { notice_lang(s_BotServ, u, PERMISSION_DENIED); return MOD_CONT; } + if ((ci->bi) && (stricmp(ci->bi->nick, nick) == 0)) + { + notice_lang(s_BotServ, u, BOT_ASSIGN_ALREADY, ci->bi->nick, chan); + return MOD_CONT; + } + bi->Assign(u, ci); notice_lang(s_BotServ, u, BOT_ASSIGN_ASSIGNED, bi->nick, ci->name); return MOD_CONT; |