Subject /invite to target change.
Similar to /msg, inviting a user that is not in a channel you have op or voice in requires a free target; opers always have a free target. Being invited adds the source as a reply target.
This commit is contained in:
parent
4f2685f3e1
commit
890af0e7c5
1 changed files with 10 additions and 0 deletions
|
@ -39,6 +39,7 @@
|
||||||
#include "parse.h"
|
#include "parse.h"
|
||||||
#include "modules.h"
|
#include "modules.h"
|
||||||
#include "packet.h"
|
#include "packet.h"
|
||||||
|
#include "tgchange.h"
|
||||||
|
|
||||||
static int m_invite(struct Client *, struct Client *, int, const char **);
|
static int m_invite(struct Client *, struct Client *, int, const char **);
|
||||||
|
|
||||||
|
@ -162,6 +163,14 @@ m_invite(struct Client *client_p, struct Client *source_p, int parc, const char
|
||||||
|
|
||||||
if(MyConnect(source_p))
|
if(MyConnect(source_p))
|
||||||
{
|
{
|
||||||
|
if (ConfigFileEntry.target_change && !IsOper(source_p) &&
|
||||||
|
!find_allowing_channel(source_p, target_p) &&
|
||||||
|
!add_target(source_p, target_p))
|
||||||
|
{
|
||||||
|
sendto_one(source_p, form_str(ERR_TARGCHANGE),
|
||||||
|
me.name, source_p->name, target_p->name);
|
||||||
|
return;
|
||||||
|
}
|
||||||
sendto_one(source_p, form_str(RPL_INVITING),
|
sendto_one(source_p, form_str(RPL_INVITING),
|
||||||
me.name, source_p->name,
|
me.name, source_p->name,
|
||||||
target_p->name, parv[2]);
|
target_p->name, parv[2]);
|
||||||
|
@ -179,6 +188,7 @@ m_invite(struct Client *client_p, struct Client *source_p, int parc, const char
|
||||||
|
|
||||||
if(MyConnect(target_p))
|
if(MyConnect(target_p))
|
||||||
{
|
{
|
||||||
|
add_reply_target(target_p, source_p);
|
||||||
sendto_one(target_p, ":%s!%s@%s INVITE %s :%s",
|
sendto_one(target_p, ":%s!%s@%s INVITE %s :%s",
|
||||||
source_p->name, source_p->username, source_p->host,
|
source_p->name, source_p->username, source_p->host,
|
||||||
target_p->name, chptr->chname);
|
target_p->name, chptr->chname);
|
||||||
|
|
Loading…
Reference in a new issue