summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/core/bs_assign.c18
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;