6 static CMD_BIND(neonserv_cmd_devoice) {
8 struct UserNode *cuser;
9 struct ChanUser *chanuser;
10 struct ModeBuffer *modeBuf;
12 if(!checkChannelAccess(user, chan, "channel_canvoice", 1, 0)) {
13 reply(getTextBot(), user, "NS_ACCESS_DENIED");
16 modeBuf = initModeBuffer(client, chan);
17 for(i = 0; i < argc; i++) {
18 cuser = searchUserByNick(argv[i]);
20 chanuser = getChanUser(cuser, chan);
21 if(!chanuser) continue;
22 if(isUserProtected(chan, cuser, user)) {
23 reply(getTextBot(), user, "NS_USER_PROTECTED", cuser->nick);
27 if(!(chanuser->flags & CHANUSERFLAG_VOICED)) continue;
28 modeBufferDevoice(modeBuf, argv[i]);
30 freeModeBuffer(modeBuf);
31 if(done_users == argc)
32 reply(getTextBot(), user, "NS_DEVOICE_DONE", chan->name);
34 reply(getTextBot(), user, "NS_DEVOICE_FAIL", client->user->nick);