|
4 years ago | |
---|---|---|
.. | ||
README.md | 4 years ago | |
m_block_nosslident.c | 5 years ago | |
m_mafiareturns.c | 4 years ago | |
m_nicksuffix.c | 5 years ago | |
m_nopmchannel.c | 4 years ago | |
m_signore.c | 5 years ago | |
m_topicgreeting.c | 4 years ago |
As you're probably already aware, the folder's name spec
means special request
. ;] These modules pretty much cater to edge cases, so they're likely not very useful to you. Feel free to czech 'em out of course. =]
The same important notes from the main README (at the top) also apply here
Module | Description |
---|---|
m_nopmchannel | Prevents users sharing a channel from privately messaging each other |
m_topicgreeting | Greet users who join a channel by changing the topic (channel mode +g) |
m_mafiareturns | Improves MafiaReturns chat functionality |
m_signore | Implements an I:Line for adding server-side ignores |
m_block_nosslident | Restrict certain idents to SSL connections only |
m_nicksuffix | Restrict /nick usage to suffixing your base nick |
A request by westor
, this module is p much the opposite of my m_message_commonchans
in that it prevents users from privately messaging each other if they share a specific channel. There are a few exceptions (as usual ;]):
+hoaq
access modes, as well as U:Lined users (e.g. BotServ bots), can send and receive normally to/from all channel membersConfig block:
nopmchannel {
name "#somechannel";
name "#another";
// More go here
};
I went with a config block instead of a channel mode because the module imposes restrictions on user-to-user communications, which is more of a network thing instead of channel-level. ;]
X-Seti
asked for a module that changes a channel's topic to greet someone who just joined. This module implements channel mode +g
so you can set that shit on a per-channel basis. =]
U:Lines such as NickServ or ButtServ channel bots won't trigger this of course. ;]
Requested by IzzyCreamcheese
, this module improves upon his website's chat functionality.
Config block:
mafiareturns {
channels "#chan1, #chan2";
tag "[MR]";
position back;
};
The position
can be either back
or front
, the meaning of which should be pretty clear. =] If a user's nick matches the tag
at position
, the module will prevent them from changing their nick or parting any of the channels listed in channels
and notices them about it (shit like /part #somechan,#chan1
will be rewritten to /part #somechan
too). Servers, U:Lines and opers etc are exempt for obvious raisins. ;]
The directives channels
and tag
are required, position
will fall back to back
if it's omitted or contains an invalid value.
Requested by Jellis
and Stanley
. This module allows privileged opers to set a server-side ignore of sorts, making 2 users' messages invisible to each other (in private only tho, just muteban them if they shitpost in-channel or something). Servers, U:Lines and opers are exempt for obvious raisins.
Expiring these so-called I:Lines
is done with an EVENT
thingy in Unreal, which is set to run every 10 seconds. This means if you set an ignore for 5 seconds (why would you anyways?) it may not expire after eggzacktly 5 seconds. ;] When no expiration is specified the value in set::default-bantime
is used. Every server checks the expirations themselves. =] Also, they store it in a ModData
struct so it persists through a rehash without the need for a .db
fiel. ;] Furthermore, they sync their known I:Lines
upon server linkage. =]] Other lines such as G:Lines, Z:Lines are also stored in memory and get resynced during a link so these are pretty similar aye.
Config block:
operclass netadmin-signore {
parent netadmin;
privileges {
signore;
};
};
Syntax:
SIGNORE [-]<ident@host> <ident2@host2> [expire] <reason>
Also supports the alias ILINE
. The first 2 arguments may also be online nicknames, they will be resolved to their respective full mask. =] Wildcards *
and ?
are also supp0rted. Masks cannot overlap each other (e.g. som*@*
and s*@*
).
Another request by Celine
. =] Blocks certain idents from connecting if they're using a plain port (so without SSL/TLS lol). As it supports wildcards too, it doesn't take into account the maximum ident length (USERLEN
, which is 10 by default). ;]
Config block:
block_nosslident {
ident "*ayy*";
ident "someident";
// More go here
};
Requested by Celine
, this module prevents people from doing /nick <anything here>
. Rather, it suffixes the "original" nick (the one on connect) with what the user specifies. There's also a special "nick" to revert back to the original one. ;] The module also comes with a new config block, which is required.
Updated shit:
separator
somewhere in their nick =]Config block:
nicksuffix {
separator "|";
restore "me";
};
The separator
can be one of the following characters: -_[]{}\|
The other directive is so when people do /nick me
they'll revert back to what they had on connect. It can be anything you want, as long as Unreal sees it as a valid nick.