atheme / atheme-contrib-modules

Community-supported modules for Atheme
https://atheme.github.io/
Other
33 stars 39 forks source link

add config option to use klinechan reasons as k-line reasons #54

Open jesopo opened 2 years ago

maxteufel commented 2 years ago

Perhaps the config option could be named just klinechan_public, and if enabled also expose the fact that a channel is a klinechan and the reason (without person who set it and timestamp) in ChanServ INFO output?

jesopo commented 2 years ago

no, I don't want it to be public that these channels are klinechans, I just want to be able to use the reasons for k-line reasons.

usecase is that currently the k-line reason is Joining #foo whereas I'd like it to be Please do not spam Foobar Networks. Email bans@foobar for help.

this becomes extra helpful when you've got inlined oper-parts in k-line reasons like solanum does, and when you've got bots that read those oper reasons to be told to do things - Please do not spam Foobar Networks. Email bans@foobar for help.|spam bots used to flood #foo !dnsbl

maxteufel commented 2 years ago

Fair enough. The question has come up a few times because it's quite easy to test whether a channel is a klinechan anyway.

Your usecase could also be implemented by changing the reason to include i.e. serverinfo::adminemail. It could also include a machine-readable oper reason like

Please do not spam serverinfo::netname. Email serverinfo::adminemail for help|KLINECHAN #channel

Then the klinechan reasons could be used for more specific (private) information, like whether a channel is used as a command-and-control channel for a botnet or whatever.

jesopo commented 2 years ago

you can already do that for solanum because it supports inlined oper reasons. I guess the code could enforce this by truncating at |, that way it'd work on other IRCds too

jesopo commented 2 years ago

converted to draft because I'm workshopping the idea of report-only honeypot channels, so external tooling can decide what network-specific thing to do when it sees a join to a bad channel