Commit Graph

799 Commits

Author SHA1 Message Date
Vgr E. Barry
888787fa3b Remove cli from night_warn 2017-08-29 19:55:20 -04:00
Vgr E. Barry
95df73ac8d Remove cli from get_voters event 2017-08-29 19:49:56 -04:00
Vgr E. Barry
9fa67c559e Update stop_game to not take cli 2017-08-29 19:46:00 -04:00
Vgr E. Barry
5fff9d2ce8 Update the begin_day event 2017-08-29 19:30:27 -04:00
Vgr E. Barry
1bb4ea1cd3 Fix !fsync 2017-08-24 09:07:32 -04:00
Vgr E. Barry
55c2f2ce25 Fix !revealroles 2017-08-23 23:40:04 -04:00
skizzerz
0bfa262daf Flags/command permissions overhaul
- revealroles is now enabled by default in normal mode
- spectate has been changed to require +a instead of +A
- fdie has been changed to require +F instead of +D;
  unlike the other +D commands (restart, update), die requires
  server access to get back up and is more dangerous.
- remove 'send' alias for fsend
- fgame is now enabled by default in normal mode
  and has been changed to require +g instead of +d
- fnight has been changed to require +N instead of +d
- fday has been changed to require +N instead of +d
- fstart has been changed to require +S instead of +A
- fstop has been changed to require +S instead of +A
- fwait has been changed to require +w instead of +A
- all remaining commands which require +d (force/rforce/frole)
  remain disabled by default in normal mode
- eval and exec can no longer be enabled in normal mode;
  they function in debug mode only
2017-08-23 22:17:25 -05:00
Vgr E. Barry
370b2c6ed2 Some function and event updates 2017-08-23 22:06:43 -04:00
jacob1
fb889393d7 fix single digit fake nick joining in debug mode (only ranges worked) 2017-08-20 19:59:30 -04:00
skizzerz
9d4a5172b4 Don't make CS lose if they die in vilgame 2017-08-19 23:07:56 -05:00
skizzerz
63e8ad667b Split wolf cub
Was already mostly in wolf.py, but this takes it out and lays groundwork
for splitting out var.DISEASED_WOLVES and base events that the new
berserker wolf can use.
2017-08-16 18:08:05 -05:00
Ryan Schmidt
4bfa5f16f6 Split Mad Scientist (#295)
* Split Mad Scientist

Related changes:
- MS now honors all protections instead of only caring about blessed
  villagers
- Allow FA to bypass protection even if FA is applied as a template
- Make bodyguard swap themselves in as the assassination target rather
  than blocking the attempt outright and suiciding. This means that
  active protections on the bodyguard have a chance to save them as well.
- Redo some messages to make the above sound nice in the bot.
- Add some additional params to the assassinate event to see WHY the
  assassination is happening (source) and WHO is doing the assassination
  (killer; currently a nick but should be a user sometime in the future).
- Add a target data item to teh assassinate event so that listeners can
  change who is being assassinated. Protection boilerplate has been
  adjusted to account for this.
- Add helper function to get the targets, avoiding code duplication
2017-08-16 14:53:21 -04:00
skizzerz
a9915e09fe Kill non-f aliases for fsay/fact
Many of these aliases are words that begin sentences. Saying them in
wolfchat/deadchat then makes the bot pm random people with stuff. Let's
NOT do that, kthx. fact is also a word, so replacing that with fdo.
2017-08-09 12:09:58 -05:00
skizzerz
c4282bd237 Fix wolf cub not working
The dead player is already removed from var.ROLES by the time the event
fires. Also, tweak del_player event to make it much easier to support
arbitrary roles as not being the player's main role by changing nicktpls
to allroles (which is a set that includes mainrole). The assassinate
event is similarly tweaked.
2017-07-20 14:19:04 -05:00
skizzerz
c0aa797342 Don't shoot werekittens at night
They can't be shot during day, so they can't be shot at night either.
Add an event so that it can be easily handled once split (using the new
API, Vgr would be so proud of me).
2017-06-20 23:08:49 -05:00
nyuszika7h
a8198327d0 Fix missing space before death messages in join phase 2017-05-15 21:42:22 +02:00
jacob1
16d541b1f1 fix missing space in quit message 2017-04-19 21:49:57 -04:00
Vgr E. Barry
08eaa34130 Update !fleave 2017-04-16 23:47:28 -04:00
skizzerz
e0ea1f00e4 derp^2 2017-04-01 14:53:17 -05:00
skizzerz
8a8a79627f Overhaul how templates work
Templates are still applied on game start according to
var.TEMPLATE_RESTRICTIONS, but now any arbitrary role can be applied as
a template during gameplay without breaking things horribly.

Speaking of breaking things horribly, things are probably broken
horribly due to this. It was lightly tested, but there's a lot of
fundamental stuff that changed.
2017-03-31 12:45:53 -05:00
skizzerz
f096814fec Add additional aliases
mm = matchmaker, ms = mad scientist, vg = vengeful ghost

Additionally, allow all special keys to be queried via pstats in an
extensible manner (used for vg activated and vg driven off)
2017-03-28 12:13:59 -05:00
Vgr E. Barry
faa3925e7d De-uglify message 2017-03-25 01:14:31 -04:00
Vgr E. Barry
b08d802df7 Add a new swap_player event 2017-03-24 17:05:37 -04:00
Ryan Schmidt
1cc38e54b2 Make potato an alias for villager (#290)
Also allow prefixing commands by their role name to remove ambiguity
should a person be multiple roles. For example, "seer see foo" and
"augur see foo" will now work if a person is both seer and augur
(whereas normal see foo would be ambiguous). A player will be directed
to use the unambiguous prefixed version if we detect that a role command
will fire multiple times for them (note: coming soon).

For sanity reasons, these role prefixes are implemented as exclusive
commands, meaning no other commands or command aliases may use the same
name. Clone needs to be special-cased in this regard, as clone is both a
role name and a command name.
2017-03-24 16:31:08 -04:00
Vgr E. Barry
0df627fcca Properly fix automatic toggling of modes 2017-03-23 11:56:52 -04:00
skizzerz
63efb85bbb Split harlot 2017-03-08 20:13:45 -06:00
Vgr E. Barry
e74079dae1 Fix goat and fgoat to use proper case
It would be nice to have a users.complete_one_match function (do we even need the current API?)
2017-03-06 16:22:54 -05:00
skizzerz
54de373242 Fix !lastgame
It simply didn't work before now for a while (as in, you could still
join/start). Also make it function during join phase, because having
weird restrictions on which it does/doesn't disable the commands is
weird. The admin can still !fjoin/!fstart as needed if they do want to
run one more game after executing this command during join phase.
2017-03-02 14:18:14 -06:00
skizzerz
8c8823ebfe Don't remove users if they're playing
Instead mark them as a ghost, and remove them at end of game should they
still be gone.
2017-02-28 21:17:51 -06:00
skizzerz
750aa757e3 Move more cub stuff out of wolfgame.py 2017-02-28 09:32:31 -06:00
jacob1
bb8ae99310 fix pingif for hosts when DISABLE_ACCOUNTS is true on networks that support accounts 2017-02-24 23:52:35 -05:00
jacob1
6f5f09b76e don't check account in can_run_restricted_cmd when DISABLE_ACCOUNTS is True 2017-02-24 23:50:51 -05:00
jacob1
c615a62f9d don't attempt to set modes when fake users join in debug mode 2017-02-23 23:51:16 -05:00
Fudster
c64526b248 Fix message about invalid game mode when joining (#288)
Using `!join` followed by something should not result in an error message. If a gamemode can be voted for, do it, otherwise silently do nothing.
2017-02-22 12:34:46 -05:00
Fudster
b631f75499 Goat revamp (#286) 2017-02-08 16:16:58 -07:00
skizzerz
dd76f79603 Backend QoL adjustments for cub
Eliminate stupid get_final_role event and instead simply don't add cubs
to var.FINAL_ROLES when they grow up into wolf. That var is only ever
used for end-game stats readouts, so there is no mechanical impact in
omitting adding something there.

Add new event to experimental stats to allow roles like cub and clone to
reflect role swaps when players die. Cubs growing up now shows up in
experimental stats.
2017-02-08 10:40:18 -06:00
Vgr E. Barry
0a18f8e70e Disallow apples to be in the same bag as oranges
Pears are fine, though
2017-02-07 20:12:16 -05:00
Vgr E. Barry
70b42dceb6 Fix not being able to join fake nicks
Also fix unrelated issue with fake users
2017-02-07 19:45:21 -05:00
Fudster
8a9d4412d3 Tweak fjoin (#285)
Change the behaviour of fjoin in both normal and debug modes:

- Only joins fake nicks in debug mode;
- Only joins one person in normal mode, multiple in debug mode;
- Autocomplete nicks in both normal and debug modes.
2017-02-06 22:36:33 -05:00
Vgr E. Barry
32409b8f76 Update fjoin to use the new API everywhere 2017-02-06 13:15:49 -05:00
jacob1
749310e564 fix some !roles messages 2017-02-05 12:48:18 -05:00
jacob1
0ec0c5d73d fix a few errors and broken messages, random cleanup 2017-02-05 12:39:52 -05:00
Fudster
0a6c6200ab Fix for #176 improve invalid role errors 2017-02-05 12:39:52 -05:00
jacob1
4c67a5b438 fix user references staying around due to !pingif pinger
also remove ugly hack since we don't need it anymore
2017-02-02 22:08:04 -05:00
Ryan Schmidt
69fa7d377f Split succubus (#284)
* Split + buff succubus

When all succubi die, all entranced people now die along with them. This
should prevent an entranced person from ratting out the succubus early
on so that they go back to their team, as they lose now even if succubus
dies. One exception is if EVERY succubus idles out, then everyone that
is entranced is freed of entrancement, as it isn't their fault that they
didn't protect their friends in that case.

Dullahans now have succubi entirely removed from their list as the
likelihood they get unentranced is low, and it's easier to implement
this way.

Ensure that entranced people can vote along with ANY succubus, even if
that vote isn't the one that succeeded. Before there were cases where
they could vote along with succubus but still end up dying (particularly
in respect to a vote passing when a succubus abstained).

Clear up some message wording with regards to succubi.

Cleaned up chk_win_conditions and eliminated chk_traitor, so they make
much more sense now.

Also fixed minor issues, such as end-game saying "same number" of wolves
even if there are more wolves than villagers, hunter/vigilante dying
during night sometimes not clearing variables correctly (thus causing
premature night end) and some various stupidity going on with some old
code I wrote that doesn't have any visible effects.

* Combine all players into the same succubus death message

* Fix stylistic issues and succubus idling not working
2017-01-27 14:08:41 -05:00
Vgr E. Barry
7bc13937e4 Don't say that someone has already joined if they're not logged in 2017-01-25 21:27:24 -05:00
jacob1
a928d729a6 fix incoming deadchat messages using your nick instead of the person who sent it 2017-01-21 20:16:36 -05:00
jacob1
c67551bd46 fix error when dead player changes nick (from last commit) 2017-01-21 20:10:37 -05:00
jacob1
62f716093a fix !swap and nick changing errors
var.ALL_PLAYERS update (for !swap) needs to happen before checking if the new user is in var.ALL_PLAYERS
pl is inaccurate during nick changes because the user's nick in var.ALL_PLAYERS is updated automatically but in var.ROLES isn't, therefore a user that changes nicks would never be returned in list_players()
one instance of prefix incorrectly changed to user.nick
2017-01-21 18:29:11 -05:00
Vgr E. Barry
058acd40d7 Fix wolfchat relaying and player renaming 2017-01-21 14:26:21 -05:00
Vgr E. Barry
bc63f2be4f Mad scientist fixes
Also stats fix
2017-01-17 14:43:28 -05:00
Vgr E. Barry
accba42ea2 Change var.ALL_PLAYERS to hold User instances
Also some unrelated things
2017-01-17 13:45:38 -05:00
skizzerz
740d14ef72 Experimental stats: intelligently determine if traitor could have died
If it is impossible for other (non-wolf) roles to have killed at night,
we do not deduct from the traitor count. This logic isn't perfect yet,
but should cover the majority of cases.
2017-01-16 16:38:51 -06:00
Vgr E. Barry
cef59bce73 Fix small variable error 2017-01-15 10:03:11 -05:00
Vgr E. Barry
693ebf3546 Fix some oversights 2017-01-13 16:28:09 -05:00
Vgr E. Barry
d2211de510 Update deadchat handling 2017-01-13 16:17:40 -05:00
Vgr E. Barry
fea04471ca Properly lowercase host everywhere 2017-01-13 16:17:03 -05:00
Vgr E. Barry
4f36b189ff Update pingif timer handler 2017-01-13 12:00:09 -05:00
Vgr E. Barry
52f6b9238a Fix fspectate 2017-01-13 11:59:24 -05:00
Vgr E. Barry
a620860cc5 Update who_end event parameter 2017-01-13 11:57:16 -05:00
Vgr E. Barry
0ca9e8cbdb Update the pingif command 2017-01-12 15:29:55 -05:00
Vgr E. Barry
582523bda5 Update refreshdb and ping commands 2017-01-12 15:29:34 -05:00
Vgr E. Barry
abf663706d Update fsync and related functions 2017-01-12 15:28:58 -05:00
Vgr E. Barry
889408a7bb Remove redundant lines 2017-01-12 14:13:05 -05:00
Vgr E. Barry
b3552574d5 Update database on simple and notice toggle 2017-01-12 14:02:17 -05:00
Vgr E. Barry
ce8babec56 Update the notice toggle command 2017-01-12 13:57:24 -05:00
Vgr E. Barry
eb5a54474e Update the simple toggle command 2017-01-12 13:57:14 -05:00
Vgr E. Barry
fe692dd74e Update fdie and frestart to use the new command API 2017-01-12 12:46:05 -05:00
Vgr E. Barry
1b695b4849 Use the new IRCContext.send API instead of break_long_message 2017-01-12 12:45:16 -05:00
Vgr E. Barry
4a02943a6e Use context directly for mode change 2017-01-12 12:44:34 -05:00
Vgr E. Barry
4bedfb0848 Fix unbound variable in sighandler 2017-01-07 11:28:05 -05:00
Ryan Schmidt
b1271ecbe0 Merge pull request #277 from lykoss/part-quit-hooks
Improve user part/quit/nick hooks
2017-01-06 10:17:28 -07:00
nyuszika7h
a6e4d2b3c1 Fix ping handling
Don't start a new timer every time someone calls !latency, and make it
work even if automatic pinging is disabled. Also, moved the command to
handler.py per @Vgr255's suggestion.
2017-01-06 17:07:42 +01:00
nyuszika7h
6f7e4398dd Simplify latency checking code
Since we send the timestamp of the request with the ping and the server
will send it back, there is no need to store it.
2017-01-06 16:20:40 +01:00
nyuszika7h
06c60dfdc3 Fix circular import
The strange thing is that it was working on my test instance.
Probably because Python 3.6 changed something regarding that.
2017-01-06 15:58:53 +01:00
nyuszika7h
a6e3c0a720 Periodically ping server to detect disconnection
In some cases, disconnection from the server can be unclean and won't be
noticed until the bot tries to send a message, which may never happen if
it did not disconnect during the game. To solve this problem, it will
now ping the server every 2 minutes by default, which will result in
a broken pipe error if the connection is dead. This won't be able to
detect netsplits where the server the bot is on stays online, because
those are impossible to correctly detect in every case.

This commit also adds a !latency command so that users can verify if the
bot is lagging.
2017-01-06 15:52:26 +01:00
Vgr E. Barry
e0f8f172d6 Update part/quit/kick/nick hooks 2016-12-19 13:29:20 -05:00
skizzerz
6bf12520f1 Fix day timeout causing game to end twice 2016-12-14 10:23:00 -06:00
nyuszika7h
144b01cfed !restart already fixed, small change for consistency 2016-12-11 10:27:39 +01:00
nyuszika7h
218366cbd8 !die: Fix first word of message being cut off in debug mode 2016-12-11 10:25:14 +01:00
Vgr E. Barry
06486e14bd Fix fsay/fact broken for non-existent users 2016-12-11 01:33:14 -05:00
Vgr E. Barry
e1be940f24 Fix !join erroring out 2016-12-09 10:54:16 -05:00
jacob1
2c5e108751 fix error on !join when ACCOUNTS_ONLY is set 2016-12-09 07:56:40 -05:00
Ryan Schmidt
9f4b1a243d Merge pull request #274 from lykoss/cmd-old-api
Add a backwards-compatibility handler for commands
2016-12-08 16:35:19 -07:00
skizzerz
47339618f8 Remove part/fpart command
There is no reason for this to be a command. It has no analogue outside
of fsend, in which case you can just fsend a raw PART if needed as well.
2016-12-08 17:23:15 -06:00
nyuszika7h
3d5aa8c8e3 Fix message name 2016-12-05 14:06:22 +01:00
Vgr E. Barry
e8338d1ef6 Add the new command API + converted commands
Converted commands mostly use some backwards-compatibility hack. Please don't mind it, I'll eventually get to it.
2016-11-28 20:19:48 -05:00
skizzerz
a01f8860d0 Delay night properly in villagergame 2016-11-23 16:26:06 -06:00
jacob1
bb99493ae8 fix protections not carrying over after nick change 2016-11-23 11:53:45 -05:00
skizzerz
11d626ab25 Revert old_api cmd change
Causing way too many bugs, need to use a more sane method of breaking
the cmd API, and only do so when it's actually ready to go. My
personal preference is to make the new API use @command instead of @cmd.

This reverts commits c90d35e6c0 and 5f5966a8b4.
2016-11-20 21:33:36 -06:00
skizzerz
ed2576ef7e Remove debug printouts 2016-11-20 12:49:21 -06:00
skizzerz
73fb0c65c9 Fix coin/pony chances 2016-11-20 12:33:39 -06:00
Emanuel Barry
5f5966a8b4 Add a transition method for the old->new interface (#272)
* Add a transition method for the old->new interface

* Modify direct calls to cmd to explicitly use the old API
2016-11-19 17:47:54 +01:00
Vgr E. Barry
dbb8a1fc82 Fix devoicing and unquieting on connect
This wasn't working before, because the mode checking was wrong. Furthermore, there may have been some race conditions; this was mitigated by an earlier commit, which allowed delaying some channel handling operations.
2016-11-17 10:06:37 -05:00
jacob1
b180f99051 add 0-point warnings, these need to be acknowledged but give no automatic sanctions 2016-11-16 23:56:55 -05:00
jacob1
017a98608c Fix lowercasing issue in !fstasis, fix "host has access" message in !fflags 2016-11-16 23:42:23 -05:00
skizzerz
ae5b39c36f Split traitor
As part of this, adjust team and accurate stats to no longer hide any
information. For team stats in particular, it was very misleading to
list traitor as villager, because it gives the village the impression
they have more time than they actually do (i.e. 2 wolfteam 5 vilteam
actually means 3 wolfteam 4 vilteam but that is not obvious). As team
stats were changed, team reveal was also changed to disregard hidden
traitor, so that the two can't be correlated to pick out if traitor died
(if traitor was revealed as vilteam but stats decremented wolfteam, that
would guarantee that traitor died).

Also commit groundwork for the stats rewrite, hidden behind an
"experimental" stats type (so it is not on by default). It is still very
WIP, many things do not yet work with it.
2016-11-16 22:19:54 +01:00
nyuszika7h
d62b9db896 Also abort if 'git status' fails 2016-11-16 15:04:05 +01:00
nyuszika7h
82d6760c5a !update: Don't restart the bot if already up-to-date 2016-11-16 14:59:29 +01:00
jacob1
01924504fe Fix day never ending when the only votes are on the bot at day timeout 2016-11-14 23:34:09 -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
skizzerz
64e6a90921 *hic*
Make doctor immunize work against doomsayer sickness and pestilence
totem
2016-11-12 23:46:45 -06:00
jacob1
cd118dbabe allow werecrow to both observe and kill at the same time 2016-11-07 20:52:58 -05:00
jacob1
fde2ce94db fix bot pinging fake players after !fstop 2016-11-05 11:13:35 -04:00
jacob1
5d0021de7d fix possible error when setting flags on users 2016-11-05 00:21:15 -04:00
nyuszika7h
e4f696abe6 Fix villagergame appearing above 9p
In join phase, var.PLAYERS is empty, so var.ALL_PLAYERS needs to be
checked instead.

(While I'm at it, changed it to <= 9 rather than < 10, just for
consistency with the rest of the code.)

Fixes #263.
2016-11-04 21:45:29 +01:00
jacob1
f101c62af8 Fix !fflags +j overwriting flags when account name is uppercase, fixes #254
Also allow setting flags on players that haven't played any games
2016-11-03 22:06:13 -04:00
skizzerz
341cce6a8f Split mayor
Also adjust revealing totem so that it always fires after mayor, in case
someone has both. Before it would depend on the order the files were
imported, which could lead to oddities down the road.

This fixes #256
2016-11-03 16:29:15 -05:00
Vgr E. Barry
a6424605ad Fix error when bot restarting and players were joined
AKA name error
2016-11-03 11:35:17 -04:00
Vgr E. Barry
cce2797e7b Fix name 2016-11-03 11:29:03 -04:00
Vgr E. Barry
851cebdbd7 Remove test function
Oops.
2016-11-03 11:26:39 -04: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
Vgr E. Barry
736d1219ed Fix oversight in account handling 2016-11-01 23:04:47 -04:00
nyuszika7h
dccfd9de38 Require "!leave -force" to quit during a game 2016-11-01 15:34:49 +01:00
Vgr E. Barry
12eab068be Change the user handling calls in wolfgame.py 2016-10-31 20:44:10 -04:00
nyuszika7h
c968e1192a Even better exception printing, like in tracebacks 2016-10-30 20:12:15 +01:00
Vgr E. Barry
e5f922d548 Improve exception printing through !eval and !exec 2016-10-30 14:03:46 -04:00
nyuszika7h
57a628f135 Update help text for !say/!act
No longer requires !f prefix so display the preferred command names
in the help text.
2016-10-29 23:26:35 +02:00
Vgr E. Barry
eef934c433 Custom keys can't fit in lykos. Tsk tsk @laneatomic 2016-10-28 14:37:17 -04:00
nyuszika7h
0ad4af4240 Change !fstop back to require prefix
Per @skizzerz's comment on IRC, you're forcing the game to stop,
as it would also stop on its own when it ends normally.
2016-10-25 21:42:28 +02:00
nyuszika7h
281ac8e21e Don't require !f prefix for admin commands where unambiguous
I didn't change !fflags to !flags as it may be a good idea to add
a !flags command to allow users to view their own flags.
2016-10-25 21:07:47 +02:00
nyuszika7h
6ac05fb3e6 Make !update not pull if a game is running
The reason we defer pulling is because if an error happens before
restarting, the line numbers in the traceback may not reflect the
actual line numbers since the code has changed.
2016-10-25 17:49:10 +02:00
nyuszika7h
946e84cbd3 Add !update command 2016-10-25 17:00:50 +02:00
nyuszika7h
797d95fac8 Fixes to !fpull and !frestart 2016-10-25 16:38:46 +02:00
skizzerz
c2fd50a33e Fix piper !pass breaking the bot
Piper shouldn't be able to !pass anyway, so let's just remove that
entirely.
2016-10-20 16:47:26 -05:00
nyuszika7h
684abf58b4 Minor code style fixes to previous commit
Making this a separate commit to avoid invalidating the PGP signature,
though it doesn't really matter for lykos anyway.
2016-10-19 21:48:41 +02:00
Lukas Martini
a6c6236e4f Stop start vote timer if player leaving is the only one who voted 2016-10-19 21:44:19 +02:00
skizzerz
55c70570af Switch param order of role_attribution event
Standardizing on first two params for event handlers to be cli, var
2016-10-18 21:56:56 -05:00
Ryan Schmidt
4e8f083dc2 Make !refreshdb expire stasis and tempbans
It was slightly annoying that there was no way to do this via a command. Should also have these expire if someone !quits to end a game, someone should work on that :)
2016-10-13 15:04:30 -07:00
Vgr E. Barry
6b9453afa1 Use more specific OS exceptions
Python 3.3 added some more specific exceptions for OS-related
operations, specifically to help mitigate this kind of hard-to-read
boilerplate. See
https://docs.python.org/3/whatsnew/3.3.html#pep-3151-reworking-the-os-and-io-exception-hierarchy
for reference.
2016-10-08 08:47:23 -04:00
nyuszika7h
36b5543d24 Remove !wiki title check as it is too restrictive
It didn't allow user pages or pages with disambiguation suffixes.
I think it's fine for it to just return "not found" for invalid titles.
2016-09-26 16:32:18 +02:00
Vgr E. Barry
925819e517 Remove stray cat from busy street 2016-09-26 07:11:12 -04:00
jacob1
5ef750aa2e Update !wiki to use the new wiki 2016-09-25 23:39:38 -04:00
nyuszika7h
12edbdfb43 Make "!gstats <num>" also show total of all gamemodes
Also capitalized the role names and "Total wins" for consistency with
!pstats and upgraded the schema to create a new index for game lookups
without specifying the game mode.
2016-09-24 23:22:33 +02:00
jacob1
3ce7e1d72f fix error in !gamestats # 2016-09-24 15:31:46 -04:00
nyuszika7h
e0bf47c182 Make !gstats show totals for all game modes by default 2016-09-24 12:27:45 +02:00
skizzerz
bfc675e953 Split fallen angel
Also fixes some bugs with using stop_propagation instead of
stop_processing in events (the former does absolutely nothing).

Added a skeleton file to assist with adding new roles, contains the
needed imports on top and vim modeline on the bottom.

Yes, these are all related and need to go in the same commit, stop
throwing things at me.
2016-09-23 20:10:04 -05:00
skizzerz
01dfdc7ac4 Split blessed and cursed villager 2016-09-13 16:35:54 -05:00
skizzerz
f5d510374a Fix !warn ack duplicating stasis, remove !fquit warning 2016-09-13 10:55:52 -05:00
nyuszika7h
9ea822d7d8 Lowercase account in !fflags with single argument 2016-09-13 12:42:34 +02:00
jacob1
cae1df1423 Fix !swap and !fsync voicing players during night if DEVOICE_DURING_NIGHT is set 2016-09-10 23:28:20 -04:00
skizzerz
446d77b452 Split GA and bodyguard 2016-09-10 11:22:10 -05:00
nyuszika7h
ecbf32c9ad Add an explanatory message for pings after bot restart
Just like when a game is canceled due to taking too long to start,
although in this case players may notice that the bot restarted, it
doesn't hurt to make it clear to them.
2016-09-09 21:41:45 +02:00
skizzerz
0adee06b40 Fix voting mayor 2016-09-08 19:07:22 -05:00
nyuszika7h
20d5ede0f2 Fix !ftemplate 2016-09-08 22:07:00 +02:00
nyuszika7h
8dddd4c3b0 Move other nicks to be kicked to guest nick pattern 2016-09-08 22:02:45 +02:00
jacob1
f51833d4c4 fix error when day times out with a tie vote 2016-09-03 14:28:39 -04:00
skizzerz
0287b05bcd Split shaman
This has a number of related changes in other files due to needing to
re-prioritize events and fixing other bits of code to play more nicely
with split-off totems. Alpha wolf handling was moved after protection
handling because it should've been that way to begin with, and as part
of splitting off protection totem it needed to be split at the same
time. Same with fallen angel changes with how protection now adjusts the
killers lists.
2016-09-02 13:56:26 -05:00
nyuszika7h
8bd98b9e5c Make guest nick pattern configurable
Closes #247.
2016-08-29 00:55:51 +02:00
nyuszika7h
1082736d2e Check for actual guest nicks rather than anything starting with "Guest" 2016-08-27 17:11:17 +02:00