Commit Graph

50 Commits

Author SHA1 Message Date
Em Barry
28f26e181b Add the new User containers (#316)
- Add the new User containers for easier handling of users throughout the codebase
- Remove the swap_player event (replaced by User.swap, made possible thanks to the containers)
- Remove the cli argument from several events
- Remove !frole (a replacement will follow)
- Remove the ALLOWED_NORMAL_MODE_COMMANDS config option

Plus a couple of small fixes here and there.
2018-04-13 13:37:04 -07:00
skizzerz
9190a4c859 Rework TLS validation a bit and support SASL EXTERNAL
- Move the config comments to botconfig.py.example where they will be more useful,
  and move the bits in settings.py near the other IRC-related settings.
- Removed support for hash types that aren't SHA-256 as we perform all the hashing on
  our end (doesn't matter what the server does or does not support), and this greatly
  simplifies the code while leaving things secure enough.
- Hardcode a default cipher suite according to mozilla modern standards, as the
  builtin ciphersuite in python may be less secure for older python versions.
- Add support for EXTERNAL auth in SASL, if a client certificate is provided. If this
  fails, it will fall back to PLAIN auth (to account for the case where a cert is added
  to the bot, but has not yet been added to NickServ, so that the bot can connect and add
  it to NickServ via !fsend)
- Redact passwords from console/log output so that asking people to pastebin their
  --verbose output when reporting issues in #lykos is less fraught with peril.
2018-01-10 12:09:10 -07:00
jacob1
6ba752a038 default SERVER_PASS to None 2017-11-13 00:22:09 -05:00
skizzerz
24ae5c1e39 Kill USE_NICKSERV_GHOST, default more things in settings.py
Whether or not GHOST is used now depends on if NICKSERV_RELEASE_COMMAND
or NICKSERV_REGAIN_COMMAND are empty. Also, we do not try to go into an
infinite loop should the command we use fail to work, and instead just
run with a "wrong" nick.

Not tested at all, so blame ilbelkyr when things inevitably don't work
with it (and while you're blaming him, get him to fix the ASM website).
2016-11-20 12:36:31 -06:00
Vgr E. Barry
1766f54b21 Properly handle the option to use ghost or release 2016-11-18 21:14:15 -05:00
nyuszika7h
2c3aafc101 Improvements to !rules
* RULES is now not defined in settings.py, only in botconfig.py.

* If there are no rules specified, a default message is shown
  instructing users to configure it.

* The "#CHANNEL channel rules: " prefix is now automatically prepended
  (skipped if the string already contains that,
  for backwards-compatibility).

* The prefix and the no-rules message can be customized
  as they are in messages.py now.
2016-11-13 11:54:48 +01:00
Trigonoculus
629fe51fd7 Make rules string unconfigured by default (#269)
The old link was outdated anyway, and other networks may not use the same rules as freenode, so it should be just configured in botconfig.py like it always could.
2016-11-13 11:32:30 +01:00
Vgr E. Barry
d090e573b7 Greatly improve channel handling
This also does some more bits of rudimentary user handling, but most of it still remains to be done.

Note: This adds DEV_PREFIX to botconfig and LOG_PREFIX to settings (var), make sure to properly update your bot!
2016-11-02 22:31:54 -04:00
jacob1
ead74e0fe5 log !fwarn add/set/del to LOG_CHANNEL, if set 2016-08-17 23:55:22 -04:00
skizzerz
2151df4fef Add !fflags and !ftemplate
These allow for access control, and work pretty much exactly like they
do in atheme's ChanServ (the /cs flags and /cs template commands).

Also remove unused things from botconfig.py.example.
2016-06-07 17:02:12 -05:00
nyuszika7h
f19e1851fd Add vim modeline to example botconfig to set file type 2016-01-01 22:18:07 +01:00
skizzerz
747249991e Add botconfig.OWNERS_ONLY_COMMANDS to further restrict commands 2015-11-16 12:11:52 -07:00
nyuszika7h
2ac4f981b7 Fix defaults in previous commit 2015-11-13 20:23:49 +01:00
nyuszika7h
c392c4c192 Add options to disable certain features in debug mode to example config 2015-11-13 20:21:06 +01:00
nyuszika7h
2cf3bfe811 Remove useless DISABLE_DEBUG_MODE option
There is no point in this whatsoever; admins can do !frestart debugmode
but that cannot lead to privilege escalation as !eval and !exec are
owner-only and !fallow won't work on them either.
2015-11-13 20:19:51 +01:00
skizzerz
a816b4b4ee Add SERVER_PASS config to control PASS command 2015-11-08 11:05:56 -06:00
nyuszika7h
eb835bebe2 Clarify comment in example config 2015-09-22 23:02:51 +02:00
skizzerz
dbb80a940e Fix issues related to undernet (and in general)
- Now possible to use the bot without it having a registered account by
  blanking NICKSERV_IDENTIFY_COMMAND
- Now possible to configure who ChanServ is as well as the command it
  uses to op up in channel (blank to prevent it from auto-opping).
  Example configuration provided for undernet
- Properly autojoin channels even if there isn't an MOTD
2015-07-28 22:35:47 -05:00
nyuszika7h
7751efdd3c Another accidentally removed config option. 2015-07-27 14:14:15 +02:00
nyuszika7h
578c86a8e1 Oops, accidentally removed this from the example config 2015-07-27 13:55:14 +02:00
nyuszika7h
21060b2bfb Add an option to change NickServ's name and the identify command 2015-07-27 13:08:52 +02:00
nyuszika7h
c13e3087d6 Clean up botconfig.py.example 2015-07-19 21:22:37 +02:00
nyuszika7h
fb964e370a Remove DISABLED_GAMEMODES
After a discussion in ##werewolf-dev, we've decided that if a majority
of the players wants a game mode, there's no reason not to allow it.
If a game mode is broken, it can be commented out in the code.
2015-06-13 17:25:23 +02:00
nyuszika7h
24d7c1ed5a Add the ability to "disable" certain game modes
Players can't vote for disabled game modes, but they can still be forced
with !fgame.
2015-05-19 12:27:57 +02:00
nyuszika7h
1cc6d411f8 Add DEV_CHANNEL and send tracebacks there instead
Per @skizzerz, tracebacks can reveal potentially sensitive game info.
Therefore, I added an option to send the tracebacks to an alternate
channel instead. You can even send them only to voiced or opped users.
2015-02-28 11:56:56 +01:00
nyuszika7h
86dfb2eb49 Fix example botconfig
I should really check things more before pushing them.
2015-02-27 20:49:00 +01:00
nyuszika7h
0d99297aee Rename PASTEBIN_ERRORS to PASTEBIN_TRACEBACKS
For clarity and because it sounds better.
2015-02-27 18:01:13 +01:00
nyuszika7h
b804d95e57 Add an option to pastebin tracebacks 2015-02-27 17:55:57 +01:00
Vgr E.Barry
4cc26e3ac2 Improve logger to use custom timestamps. 2015-01-13 19:59:00 -05:00
Vgr E.Barry
20eda8c5d1 Removed obsolete logging code. 2015-01-13 19:58:58 -05:00
Janik Kleinhoff
c611db5109 botconfig.py.example: improve example values
* there is no good reason *not* to use SSL;
* the example config assumes freenode, where a wolfgame channel would be
  expected to use the double-# namespace; if we're going to suggest
  a network to use, our example should follow their policy, too.
2014-12-19 21:52:12 +00:00
Vgr E.Barry
87f74d3265 Adds ability for the bot to be in multiple channels. 2014-12-06 17:39:21 -05:00
Vgr E.Barry
3192052add Allow admins and owners tracking via account. 2014-12-06 15:43:34 -05:00
Vgr E.Barry
5cc9715eb1 Move argument parsing out of botconfig. 2014-12-06 15:03:03 -05:00
nyuszika7h
05866b62ca s/RNAME/REALNAME/ 2014-11-14 13:54:28 +01:00
jacob1
dcae30a707 ident and realname config settings 2014-11-14 00:22:47 -05:00
jacob1
85675dedc6 remove ALLOW / DENY from botconfig 2014-11-03 13:44:39 -05:00
nyuszika7h
869c3bed91 Convert Windows line endings to Unix 2013-09-04 11:56:00 +02:00
Jimmy Cao
03cef5c7b2 fix bug with debug mode and allowing commands 2012-07-16 11:16:26 -05:00
Jimmy Cao
479e0656bc allow the enabling of certain debug mode commands in normal mode via config 2012-07-14 21:34:11 -05:00
Jimmy Cao
d4a3499680 add --verbose mode 2012-07-13 20:35:31 -05:00
Jimmy Cao
022d00847f ssl support 2012-06-29 14:25:37 -05:00
Jimmy Cao
e02402d77e sasl authentication, improved bot regain/release behavior, botconfig.py updated! 2012-06-29 13:59:59 -05:00
Jimmy Cao
033aa41917 allow /notice commands as an option in the botconfig (not turned on by default) 2012-06-25 17:53:24 -05:00
Jimmy Cao
42cbe54656 allow the bot to ignore all commands sent to @#channel or +#channel (botconfig.py updated!) 2012-06-24 01:46:50 -05:00
Jimmy Cao
3e1ba2ed16 add clarifying comment 2012-04-02 16:21:32 -05:00
Jimmy Cao
6b2ec13fb6 update botconfig.py example to reflect recent changes 2011-12-28 17:51:53 -06:00
Jimmy Cao
65b1123eeb glob syntax for the permissions/admins/owners list, more flexible permissions, no gunner suicide 2011-08-07 16:02:03 -05:00
Jimmy Cao
be7cb99219 fixed non-privmsg-nickserv authentication, added rate limiting for !stats, !votes, !admins, detectives now have a more complete PM message 2011-08-07 00:48:26 -05:00
Jimmy Cao
400aa4028a sorting of !stats roles 2011-08-06 00:17:12 -05:00