mirror of
https://github.com/oddluck/limnoria-plugins.git
synced 2025-04-25 20:41:21 -05:00
Delete Jeopardy directory
This plugin is fucked, forget it!
This commit is contained in:
parent
85b73b0c68
commit
c1bf3092ac
@ -1,222 +0,0 @@
|
|||||||
A fully-featured and customizable IRC trivia game using an archive of Jeopardy! questions.
|
|
||||||
|
|
||||||
## This... is... Jeopardy!
|
|
||||||
|
|
||||||
Uses [jService](http://jservice.io)
|
|
||||||
|
|
||||||
To configure replies, see the [templates](#templates) section.
|
|
||||||
|
|
||||||
## Commands
|
|
||||||
|
|
||||||
`start [channel] [--num <#>] [--timeout <#>] [--hints <#>] [--no-hints] [--random] [--shuffle] [--restart] [<category1>, <category2>, etc.]`
|
|
||||||
|
|
||||||
`start` - start a round with random questions
|
|
||||||
|
|
||||||
`start <category name>, <category name>` - search for a category by name, separate multiple categories with commas
|
|
||||||
|
|
||||||
`--shuffle` - randomize category searches
|
|
||||||
|
|
||||||
`--num <# of questions>` - set the number of questions for the round
|
|
||||||
|
|
||||||
`--timeout <# of seconds to answer>` - set the time to answer the question, 0 to disable timeout
|
|
||||||
|
|
||||||
`--hint <# of hints>` - specify number of hints, 0 to disable them
|
|
||||||
|
|
||||||
`--no-hints` - set showHints and showBlank to False
|
|
||||||
|
|
||||||
`--random` - select a category at random
|
|
||||||
|
|
||||||
`--restart` - automatically restart a new round when the current round finishes (questions in restarted rounds will be random)
|
|
||||||
|
|
||||||
```
|
|
||||||
categories
|
|
||||||
```
|
|
||||||
^ Returns a list of popular Jeopardy! categories.
|
|
||||||
|
|
||||||
```
|
|
||||||
stats [--top <int>] [nick]
|
|
||||||
```
|
|
||||||
^ Returns game scores. Defaults to top 5 players. Use `--top` and a number to receive more top players. Specify a nick to get a score for the selected player.
|
|
||||||
|
|
||||||
```
|
|
||||||
question
|
|
||||||
```
|
|
||||||
^ Repeat the currently active question.
|
|
||||||
|
|
||||||
```
|
|
||||||
hint
|
|
||||||
```
|
|
||||||
^ Display the next hint. If max hints reached, repeat the latest hint. If max hints is 0, show blanked out answer.
|
|
||||||
|
|
||||||
```
|
|
||||||
skip
|
|
||||||
```
|
|
||||||
^ Skip the current question.
|
|
||||||
|
|
||||||
```
|
|
||||||
report
|
|
||||||
```
|
|
||||||
^ Report the current question as invalid e.g. audio/video based clues.
|
|
||||||
|
|
||||||
|
|
||||||
## Config
|
|
||||||
|
|
||||||
```
|
|
||||||
config list plugins.jeopardy
|
|
||||||
```
|
|
||||||
^ List the config variables for the game.
|
|
||||||
|
|
||||||
```
|
|
||||||
config help plugins.jeopardy.<variable_name>
|
|
||||||
```
|
|
||||||
^ Get information about what game options the variable controls.
|
|
||||||
|
|
||||||
```
|
|
||||||
config [channel #channel] plugins.jeopardy.blankChar *
|
|
||||||
```
|
|
||||||
^ The character used for a blank when displaying hints
|
|
||||||
|
|
||||||
```
|
|
||||||
config [channel #channel] plugins.jeopardy.numHints 3
|
|
||||||
```
|
|
||||||
^ The number of hints to be given for each question
|
|
||||||
|
|
||||||
```
|
|
||||||
config [channel #channel] plugins.jeopardy.delay 4
|
|
||||||
```
|
|
||||||
^ The number of seconds to delay between questions
|
|
||||||
|
|
||||||
```
|
|
||||||
config [channel #channel] plugins.jeopardy.timeout 90
|
|
||||||
```
|
|
||||||
^ The number of seconds to allow for each question
|
|
||||||
|
|
||||||
```
|
|
||||||
config [channel #channel] plugins.jeopardy.hintPercentage 0.25
|
|
||||||
```
|
|
||||||
^ The fraction of the answer that should be revealed with each hint
|
|
||||||
|
|
||||||
```
|
|
||||||
config [channel #channel] plugins.jeopardy.hintReduction 0.5
|
|
||||||
```
|
|
||||||
^ The percentage by which to reduce points with each hint reveal
|
|
||||||
|
|
||||||
```
|
|
||||||
config [channel #channel] plugins.jeopardy.flexibility 0.94
|
|
||||||
```
|
|
||||||
^ Minimum similarity score of the answer checker. Jaro-Winkler distance, 1.0 is identical/disabled. Sane values > 0.9
|
|
||||||
|
|
||||||
```
|
|
||||||
config [channel #channel] plugins.jeopardy.inactiveShutoff 5
|
|
||||||
```
|
|
||||||
^ The number of questions that can go unanswered before the game stops automatically
|
|
||||||
|
|
||||||
```
|
|
||||||
config plugins.jeopardy.jserviceUrl http://jservice.io
|
|
||||||
```
|
|
||||||
^ Alternate URL where jservice can be accessed at, for example a locally run jservice instance: http://127.0.0.1:3000
|
|
||||||
|
|
||||||
```
|
|
||||||
config [channel #channel] plugins.jeopardy.defaultRoundLength 10
|
|
||||||
```
|
|
||||||
^ The default number of questions to be asked in a round
|
|
||||||
|
|
||||||
```
|
|
||||||
config [channel #channel] plugins.jeopardy.randomize True
|
|
||||||
```
|
|
||||||
^ This will determine whether or not the bot will randomize the question order
|
|
||||||
|
|
||||||
```
|
|
||||||
config [channel #channel] plugins.jeopardy.requireOps False
|
|
||||||
```
|
|
||||||
^ This will determine whether or not the user must be a channel operator to start/stop the game
|
|
||||||
|
|
||||||
```
|
|
||||||
config [channel #channel] plugins.jeopardy.enabled True
|
|
||||||
```
|
|
||||||
^ This will determine whether or not the game is enabled for a given channel
|
|
||||||
|
|
||||||
```
|
|
||||||
config [channel #channel] plugins.jeopardy.defaultPointValue 500
|
|
||||||
```
|
|
||||||
^ The default point value for questions if no point value is given
|
|
||||||
|
|
||||||
```
|
|
||||||
config [channel #channel] plugins.jeopardy.autoRestart False
|
|
||||||
```
|
|
||||||
^ Start a new round of random questions after the current round has ended
|
|
||||||
|
|
||||||
```
|
|
||||||
config [channel #channel] plugins.jeopardy.keepHistory True
|
|
||||||
```
|
|
||||||
^ Keep a history of previously asked questions and don't repeat them
|
|
||||||
|
|
||||||
```
|
|
||||||
config [channel #channel] plugins.jeopardy.useBold True
|
|
||||||
```
|
|
||||||
^ Use bold in replies
|
|
||||||
|
|
||||||
```
|
|
||||||
config [channel #channel] plugins.jeopardy.showScores True
|
|
||||||
```
|
|
||||||
^ Show scores at the end of the round
|
|
||||||
|
|
||||||
```
|
|
||||||
config [channel #channel] plugins.jeopardy.showBlank True
|
|
||||||
```
|
|
||||||
^ Show first (blank) hint with the question. Overrides showHints only for this reply
|
|
||||||
|
|
||||||
```
|
|
||||||
config [channel #channel] plugins.jeopardy.showTime True
|
|
||||||
```
|
|
||||||
^ Show time remaining messages when showHints is False
|
|
||||||
|
|
||||||
```
|
|
||||||
config [channel #channel] plugins.jeopardy.showHints True
|
|
||||||
```
|
|
||||||
^ Show hint messages automatically. Overrides showTime
|
|
||||||
|
|
||||||
```
|
|
||||||
config [channel #channel] plugins.jeopardy.timeReplies 1
|
|
||||||
```
|
|
||||||
^ Number of time remaining replies to show when showHints False and showTime True
|
|
||||||
|
|
||||||
|
|
||||||
## Templates
|
|
||||||
|
|
||||||
```
|
|
||||||
config list plugins.jeopardy.template
|
|
||||||
```
|
|
||||||
^ List the config variables for the templates.
|
|
||||||
|
|
||||||
```
|
|
||||||
config help plugins.jeopardy.template.<variable_name>
|
|
||||||
```
|
|
||||||
^ Get information about what template the variable controls.
|
|
||||||
|
|
||||||
|
|
||||||
`config [channel #channel] plugins.jeopardy.template.correct "\x0313{{nick}}\x03 got it! The full answer was: {{answer}}. Points: \x0309{{points}}\x03 | Round Score: \x0309{{round}}\x03 | Total: \x0309{{total}}"`<br />
|
|
||||||
^ Template for correct answer replies
|
|
||||||
|
|
||||||
|
|
||||||
`config [channel #channel] plugins.jeopardy.template.hint "HINT: {{hint}}{% if time %} | ({{time}} seconds remaining){% endif %}{% if points %} | \x0309[${{points}}]{% endif %}"`<br />
|
|
||||||
^ Template for hint reply
|
|
||||||
|
|
||||||
`config [channel #channel] plugins.jeopardy.template.question "#{{number}} of {{total}}: \x0313({{airdate}}) \x0309[${{points}}] \x0310\x1f{{category}}\x1f: {{clue}}"`<br />
|
|
||||||
^ Template for question reply
|
|
||||||
|
|
||||||
`config [channel #channel] plugins.jeopardy.template.skip "No one got the answer! It was: {{answer}}"`<br />
|
|
||||||
^ Template for reply when question unanswered after timeout or the 'skip' command used
|
|
||||||
|
|
||||||
`config [channel #channel] plugins.jeopardy.template.stop "Jeopardy! stopped.{% if answer %} (Answer: {{answer}}){% endif %}"`<br />
|
|
||||||
^ Template for reply when using the 'stop' command
|
|
||||||
|
|
||||||
`config [channel #channel] plugins.jeopardy.template.time "{{time}} seconds remaining. [.hint] [.question] [.skip]"`<br />
|
|
||||||
^ Template for time remaining reply when showTime = True and showHints = False
|
|
||||||
|
|
||||||
|
|
||||||
## Miscellaneous
|
|
||||||
|
|
||||||
Score and history files can be found in <bot_directory>/data/jeopardy/
|
|
||||||
|
|
||||||
Forked and significantly modified version of [this trivia plugin](https://github.com/ProgVal/Supybot-plugins/tree/master/Trivia).
|
|
@ -1,81 +0,0 @@
|
|||||||
###
|
|
||||||
# Copyright (c) 2010, quantumlemur
|
|
||||||
# Copyright (c) 2011, Valentin Lorentz
|
|
||||||
# Copyright (c) 2020, oddluck <oddluck@riseup.net>
|
|
||||||
# All rights reserved.
|
|
||||||
#
|
|
||||||
# Redistribution and use in source and binary forms, with or without
|
|
||||||
# modification, are permitted provided that the following conditions are met:
|
|
||||||
#
|
|
||||||
# * Redistributions of source code must retain the above copyright notice,
|
|
||||||
# this list of conditions, and the following disclaimer.
|
|
||||||
# * Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
# this list of conditions, and the following disclaimer in the
|
|
||||||
# documentation and/or other materials provided with the distribution.
|
|
||||||
# * Neither the name of the author of this software nor the name of
|
|
||||||
# contributors to this software may be used to endorse or promote products
|
|
||||||
# derived from this software without specific prior written consent.
|
|
||||||
#
|
|
||||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
||||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
|
||||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
||||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
||||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
||||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
||||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
||||||
# POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
###
|
|
||||||
|
|
||||||
"""
|
|
||||||
Jeopardy: a trivia game using Jeopardy! questions
|
|
||||||
"""
|
|
||||||
|
|
||||||
import supybot
|
|
||||||
import supybot.world as world
|
|
||||||
|
|
||||||
# Use this for the version of this plugin. You may wish to put a CVS keyword
|
|
||||||
# in here if you're keeping the plugin in CVS or some similar system.
|
|
||||||
__version__ = "2020.02.24+git"
|
|
||||||
|
|
||||||
# XXX Replace this with an appropriate author or supybot.Author instance.
|
|
||||||
__author__ = supybot.Author("oddluck", "oddluck", "oddluck@riseup.net")
|
|
||||||
|
|
||||||
# This is a dictionary mapping supybot.Author instances to lists of
|
|
||||||
# contributions.
|
|
||||||
if not hasattr(supybot.authors, "progval") or not hasattr(
|
|
||||||
supybot.authors, "quantumlemur"
|
|
||||||
):
|
|
||||||
supybot.authors.progval = supybot.Author(
|
|
||||||
"Valentin Lorentz", "ProgVal", "progval@gmail.com"
|
|
||||||
)
|
|
||||||
supybot.authors.quantumlemur = supybot.Author(
|
|
||||||
"quantumlemur", "quantumlemur", "quantumlemur@users.sourceforge.net"
|
|
||||||
)
|
|
||||||
__contributors__ = {
|
|
||||||
supybot.authors.quantumlemur: ["original plugin base"],
|
|
||||||
supybot.authors.progval: ["code enhancement"],
|
|
||||||
}
|
|
||||||
|
|
||||||
# This is a url where the most recent plugin package can be downloaded.
|
|
||||||
__url__ = "https://github.com/oddluck/limnoria-plugins/"
|
|
||||||
|
|
||||||
from . import config
|
|
||||||
from . import plugin
|
|
||||||
from importlib import reload
|
|
||||||
|
|
||||||
reload(plugin) # In case we're being reloaded.
|
|
||||||
reload(config)
|
|
||||||
# Add more reloads here if you add third-party modules and want them to be
|
|
||||||
# reloaded when this plugin is reloaded. Don't forget to import them as well!
|
|
||||||
|
|
||||||
if world.testing:
|
|
||||||
from . import test
|
|
||||||
|
|
||||||
Class = plugin.Class
|
|
||||||
configure = config.configure
|
|
||||||
|
|
||||||
|
|
||||||
# vim:set shiftwidth=4 tabstop=4 expandtab textwidth=79:
|
|
@ -1,114 +0,0 @@
|
|||||||
Sports
|
|
||||||
Potpourri
|
|
||||||
Animals
|
|
||||||
American History
|
|
||||||
Transportation
|
|
||||||
Science
|
|
||||||
Business & Industry
|
|
||||||
Stupid Answers
|
|
||||||
Television
|
|
||||||
History
|
|
||||||
Rhyme Time
|
|
||||||
U.S. Cities
|
|
||||||
State Capitals
|
|
||||||
Food
|
|
||||||
People
|
|
||||||
Hodgepodge
|
|
||||||
The Bible
|
|
||||||
Food & Drink
|
|
||||||
Word Origins
|
|
||||||
Common Bonds
|
|
||||||
3 Letter Words
|
|
||||||
U.S. Geography
|
|
||||||
Weights & Measures
|
|
||||||
Annual Events
|
|
||||||
Pop Music
|
|
||||||
Potent Potables
|
|
||||||
Holidays & Observances
|
|
||||||
4 Letter Words
|
|
||||||
U.S. History
|
|
||||||
Americana
|
|
||||||
World History
|
|
||||||
Museums
|
|
||||||
Bodies Of Water
|
|
||||||
Colleges & Universities
|
|
||||||
Musical Instruments
|
|
||||||
First Ladies
|
|
||||||
The Movies
|
|
||||||
Literature
|
|
||||||
Religion
|
|
||||||
Zoology
|
|
||||||
Mythology
|
|
||||||
Travel & Tourism
|
|
||||||
Fruits & Vegetables
|
|
||||||
Nursery Rhymes
|
|
||||||
Fashion
|
|
||||||
Familiar Phrases
|
|
||||||
Around The World
|
|
||||||
Nonfiction
|
|
||||||
U.S. States
|
|
||||||
Nature
|
|
||||||
Odds & Ends
|
|
||||||
Geography
|
|
||||||
World Capitals
|
|
||||||
U.S.A.
|
|
||||||
Languages
|
|
||||||
Homophones
|
|
||||||
Organizations
|
|
||||||
5 Letter Words
|
|
||||||
Vocabulary
|
|
||||||
Leftovers
|
|
||||||
Science & Nature
|
|
||||||
Proverbs
|
|
||||||
Anagrams
|
|
||||||
Toys & Games
|
|
||||||
Mammals
|
|
||||||
Magazines
|
|
||||||
Colors
|
|
||||||
World Geography
|
|
||||||
Guinness Records
|
|
||||||
Books & Authors
|
|
||||||
The Human Body
|
|
||||||
Double Talk
|
|
||||||
Quotations
|
|
||||||
The Civil War
|
|
||||||
Cooking
|
|
||||||
Birds
|
|
||||||
Medicine
|
|
||||||
Abbrev.
|
|
||||||
Letter Perfect
|
|
||||||
Tv Trivia
|
|
||||||
Insects
|
|
||||||
Shakespeare
|
|
||||||
Foreign Words & Phrases
|
|
||||||
19th Century America
|
|
||||||
The Body Human
|
|
||||||
Mountains
|
|
||||||
Technology
|
|
||||||
Awards
|
|
||||||
Singers
|
|
||||||
Number, Please
|
|
||||||
Islands
|
|
||||||
Games
|
|
||||||
Furniture
|
|
||||||
Body Language
|
|
||||||
Children's Literature
|
|
||||||
Music
|
|
||||||
Baseball
|
|
||||||
Quotes
|
|
||||||
Actors & Actresses
|
|
||||||
Before & After
|
|
||||||
The Old Testament
|
|
||||||
Etiquette
|
|
||||||
Fictional Characters
|
|
||||||
Authors
|
|
||||||
Art
|
|
||||||
Biology
|
|
||||||
Health & Medicine
|
|
||||||
Brand Names
|
|
||||||
Word Puzzles
|
|
||||||
6 Letter Words
|
|
||||||
In Other Words...
|
|
||||||
Celebrities
|
|
||||||
Facts & Figures
|
|
||||||
Weapons
|
|
@ -1,370 +0,0 @@
|
|||||||
###
|
|
||||||
# Copyright (c) 2010, quantumlemur
|
|
||||||
# Copyright (c) 2011, Valentin Lorentz
|
|
||||||
# Copyright (c) 2020, oddluck <oddluck@riseup.net>
|
|
||||||
# All rights reserved.
|
|
||||||
#
|
|
||||||
# Redistribution and use in source and binary forms, with or without
|
|
||||||
# modification, are permitted provided that the following conditions are met:
|
|
||||||
#
|
|
||||||
# * Redistributions of source code must retain the above copyright notice,
|
|
||||||
# this list of conditions, and the following disclaimer.
|
|
||||||
# * Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
# this list of conditions, and the following disclaimer in the
|
|
||||||
# documentation and/or other materials provided with the distribution.
|
|
||||||
# * Neither the name of the author of this software nor the name of
|
|
||||||
# contributors to this software may be used to endorse or promote products
|
|
||||||
# derived from this software without specific prior written consent.
|
|
||||||
#
|
|
||||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
||||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
|
||||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
||||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
||||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
||||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
||||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
||||||
# POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
###
|
|
||||||
|
|
||||||
import supybot.conf as conf
|
|
||||||
import supybot.registry as registry
|
|
||||||
from supybot.i18n import PluginInternationalization, internationalizeDocstring
|
|
||||||
|
|
||||||
_ = PluginInternationalization("Jeopardy")
|
|
||||||
|
|
||||||
|
|
||||||
def configure(advanced):
|
|
||||||
# This will be called by supybot to configure this module. advanced is
|
|
||||||
# a bool that specifies whether the user identified himself as an advanced
|
|
||||||
# user or not. You should effect your configuration by manipulating the
|
|
||||||
# registry as appropriate.
|
|
||||||
from supybot.questions import expect, anything, something, yn
|
|
||||||
|
|
||||||
conf.registerPlugin("Jeopardy", True)
|
|
||||||
|
|
||||||
|
|
||||||
Jeopardy = conf.registerPlugin("Jeopardy")
|
|
||||||
# This is where your configuration variables (if any) should go. For example:
|
|
||||||
# conf.registerGlobalValue(Jeopardy, 'someConfigVariableName',
|
|
||||||
# registry.Boolean(False, """Help for someConfigVariableName."""))
|
|
||||||
|
|
||||||
conf.registerChannelValue(
|
|
||||||
Jeopardy,
|
|
||||||
"blankChar",
|
|
||||||
registry.String(
|
|
||||||
"*", _("""The character used for a blank when displaying hints"""),
|
|
||||||
),
|
|
||||||
)
|
|
||||||
|
|
||||||
conf.registerChannelValue(
|
|
||||||
Jeopardy,
|
|
||||||
"numHints",
|
|
||||||
registry.PositiveInteger(
|
|
||||||
3, _("""The number of hints to be given for each question"""),
|
|
||||||
),
|
|
||||||
)
|
|
||||||
|
|
||||||
conf.registerChannelValue(
|
|
||||||
Jeopardy,
|
|
||||||
"timeReplies",
|
|
||||||
registry.PositiveInteger(
|
|
||||||
1,
|
|
||||||
_(
|
|
||||||
"""
|
|
||||||
The number of time remaining replies if showHints False and showTime True
|
|
||||||
"""
|
|
||||||
),
|
|
||||||
),
|
|
||||||
)
|
|
||||||
|
|
||||||
conf.registerChannelValue(
|
|
||||||
Jeopardy,
|
|
||||||
"delay",
|
|
||||||
registry.Integer(
|
|
||||||
4, _("""The number of seconds to increase the delay between questions"""),
|
|
||||||
),
|
|
||||||
)
|
|
||||||
|
|
||||||
conf.registerChannelValue(
|
|
||||||
Jeopardy,
|
|
||||||
"timeout",
|
|
||||||
registry.Integer(90, _("""The number of seconds to allow for each question"""),),
|
|
||||||
)
|
|
||||||
|
|
||||||
conf.registerChannelValue(
|
|
||||||
Jeopardy,
|
|
||||||
"hintPercentage",
|
|
||||||
registry.Probability(
|
|
||||||
0.25,
|
|
||||||
_("""The fraction of the answer that should be revealed with each hint"""),
|
|
||||||
),
|
|
||||||
)
|
|
||||||
|
|
||||||
conf.registerChannelValue(
|
|
||||||
Jeopardy,
|
|
||||||
"hintReduction",
|
|
||||||
registry.Probability(
|
|
||||||
0.5, _("""The percentage by which to reduce points with each hint reveal"""),
|
|
||||||
),
|
|
||||||
)
|
|
||||||
|
|
||||||
conf.registerChannelValue(
|
|
||||||
Jeopardy,
|
|
||||||
"flexibility",
|
|
||||||
registry.Float(
|
|
||||||
0.94,
|
|
||||||
_(
|
|
||||||
"""
|
|
||||||
The minimum similarity score of the answer checker. Uses jaro-winkler
|
|
||||||
distance, 1.0 is identical/disabled. (Sane values > 0.90)
|
|
||||||
"""
|
|
||||||
),
|
|
||||||
),
|
|
||||||
)
|
|
||||||
|
|
||||||
conf.registerChannelValue(
|
|
||||||
Jeopardy,
|
|
||||||
"inactiveShutoff",
|
|
||||||
registry.Integer(
|
|
||||||
5,
|
|
||||||
_(
|
|
||||||
"""
|
|
||||||
The number of questions that can go
|
|
||||||
unanswered before the game stops automatically.
|
|
||||||
"""
|
|
||||||
),
|
|
||||||
),
|
|
||||||
)
|
|
||||||
|
|
||||||
conf.registerGlobalValue(
|
|
||||||
Jeopardy,
|
|
||||||
"jserviceUrl",
|
|
||||||
registry.String(
|
|
||||||
"http://jservice.io",
|
|
||||||
_(
|
|
||||||
"""
|
|
||||||
Set an alternate URL where
|
|
||||||
jservice can be accessed at, for example a locally run jservice instance.
|
|
||||||
"""
|
|
||||||
),
|
|
||||||
),
|
|
||||||
)
|
|
||||||
|
|
||||||
conf.registerChannelValue(
|
|
||||||
Jeopardy,
|
|
||||||
"defaultRoundLength",
|
|
||||||
registry.PositiveInteger(
|
|
||||||
10, _("""The default number of questions to be asked in a round."""),
|
|
||||||
),
|
|
||||||
)
|
|
||||||
|
|
||||||
conf.registerChannelValue(
|
|
||||||
Jeopardy,
|
|
||||||
"randomize",
|
|
||||||
registry.Boolean(
|
|
||||||
True,
|
|
||||||
_(
|
|
||||||
"""
|
|
||||||
This will determine whether or not the
|
|
||||||
bot will randomize the questions.
|
|
||||||
"""
|
|
||||||
),
|
|
||||||
),
|
|
||||||
)
|
|
||||||
|
|
||||||
conf.registerChannelValue(
|
|
||||||
Jeopardy,
|
|
||||||
"requireOps",
|
|
||||||
registry.Boolean(
|
|
||||||
False,
|
|
||||||
_(
|
|
||||||
"""
|
|
||||||
This will determine whether or not the
|
|
||||||
user must be a channel operator to start/stop the game.
|
|
||||||
"""
|
|
||||||
),
|
|
||||||
),
|
|
||||||
)
|
|
||||||
|
|
||||||
conf.registerChannelValue(
|
|
||||||
Jeopardy,
|
|
||||||
"enabled",
|
|
||||||
registry.Boolean(
|
|
||||||
True,
|
|
||||||
_(
|
|
||||||
"""
|
|
||||||
This will determine whether or not the
|
|
||||||
game is enabled for a given channel
|
|
||||||
"""
|
|
||||||
),
|
|
||||||
),
|
|
||||||
)
|
|
||||||
|
|
||||||
conf.registerChannelValue(
|
|
||||||
Jeopardy,
|
|
||||||
"defaultPointValue",
|
|
||||||
registry.PositiveInteger(
|
|
||||||
500,
|
|
||||||
_(
|
|
||||||
"""
|
|
||||||
The default point value for questions if
|
|
||||||
no point value is given.
|
|
||||||
"""
|
|
||||||
),
|
|
||||||
),
|
|
||||||
)
|
|
||||||
|
|
||||||
conf.registerChannelValue(
|
|
||||||
Jeopardy,
|
|
||||||
"autoRestart",
|
|
||||||
registry.Boolean(
|
|
||||||
False,
|
|
||||||
_(
|
|
||||||
"""
|
|
||||||
Start a new round of random questions after
|
|
||||||
the current round has ended.
|
|
||||||
"""
|
|
||||||
),
|
|
||||||
),
|
|
||||||
)
|
|
||||||
|
|
||||||
conf.registerChannelValue(
|
|
||||||
Jeopardy,
|
|
||||||
"keepHistory",
|
|
||||||
registry.Boolean(
|
|
||||||
True,
|
|
||||||
_(
|
|
||||||
"""
|
|
||||||
Keep a history of previously asked questions per
|
|
||||||
channel and don't repeat them.
|
|
||||||
"""
|
|
||||||
),
|
|
||||||
),
|
|
||||||
)
|
|
||||||
|
|
||||||
conf.registerChannelValue(
|
|
||||||
Jeopardy, "useBold", registry.Boolean(True, _("""Use bold in replies."""))
|
|
||||||
)
|
|
||||||
|
|
||||||
conf.registerChannelValue(
|
|
||||||
Jeopardy,
|
|
||||||
"showScores",
|
|
||||||
registry.Boolean(True, _("""Show scores at the end of the round.""")),
|
|
||||||
)
|
|
||||||
|
|
||||||
conf.registerChannelValue(
|
|
||||||
Jeopardy,
|
|
||||||
"showBlank",
|
|
||||||
registry.Boolean(
|
|
||||||
True,
|
|
||||||
_(
|
|
||||||
"""
|
|
||||||
Show first (blank) hint with the question. Overrides showHints
|
|
||||||
only for this reply.
|
|
||||||
"""
|
|
||||||
),
|
|
||||||
),
|
|
||||||
)
|
|
||||||
|
|
||||||
conf.registerChannelValue(
|
|
||||||
Jeopardy,
|
|
||||||
"showTime",
|
|
||||||
registry.Boolean(
|
|
||||||
True, _("""Show time remaining messages when not showing hints.""")
|
|
||||||
),
|
|
||||||
)
|
|
||||||
|
|
||||||
conf.registerChannelValue(
|
|
||||||
Jeopardy,
|
|
||||||
"showHints",
|
|
||||||
registry.Boolean(
|
|
||||||
True, _("""Show hint messages automatically. Overrides showTime.""")
|
|
||||||
),
|
|
||||||
)
|
|
||||||
|
|
||||||
conf.registerGroup(Jeopardy, "template")
|
|
||||||
|
|
||||||
conf.registerChannelValue(
|
|
||||||
Jeopardy.template,
|
|
||||||
"question",
|
|
||||||
registry.String(
|
|
||||||
"#{{number}} of {{total}}: \x0313({{airdate}}) \x0309[${{points}}] "
|
|
||||||
"\x0310\x1f{{category}}\x1f: {{clue}}",
|
|
||||||
_("""The template used to render questions."""),
|
|
||||||
),
|
|
||||||
)
|
|
||||||
|
|
||||||
conf.registerGroup(Jeopardy.template, "restart")
|
|
||||||
|
|
||||||
conf.registerChannelValue(
|
|
||||||
Jeopardy.template.restart,
|
|
||||||
"question",
|
|
||||||
registry.String(
|
|
||||||
"\x0313({{airdate}}) \x0309[${{points}}] \x0310\x1f{{category}}\x1f: {{clue}}",
|
|
||||||
_("""The template used to render questions when autoRestart is True."""),
|
|
||||||
),
|
|
||||||
)
|
|
||||||
|
|
||||||
conf.registerChannelValue(
|
|
||||||
Jeopardy.template.restart,
|
|
||||||
"correct",
|
|
||||||
registry.String(
|
|
||||||
"\x0313{{nick}}\x03 got it! The full answer was: {{answer}}. Points: "
|
|
||||||
"\x0309{{points}}\x03 | Total: \x0309{{total}}",
|
|
||||||
_(
|
|
||||||
"""
|
|
||||||
The template used to render correct answer replies when autoRestart is True.
|
|
||||||
"""
|
|
||||||
),
|
|
||||||
),
|
|
||||||
)
|
|
||||||
|
|
||||||
conf.registerChannelValue(
|
|
||||||
Jeopardy.template,
|
|
||||||
"hint",
|
|
||||||
registry.String(
|
|
||||||
"HINT: {{hint}}{% if time %} | ({{time}} seconds remaining){% endif %}"
|
|
||||||
"{% if points %} | \x0309[${{points}}]{% endif %}",
|
|
||||||
_("""The template used to render hints."""),
|
|
||||||
),
|
|
||||||
)
|
|
||||||
|
|
||||||
conf.registerChannelValue(
|
|
||||||
Jeopardy.template,
|
|
||||||
"correct",
|
|
||||||
registry.String(
|
|
||||||
"\x0313{{nick}}\x03 got it! The full answer was: {{answer}}. Points: \x0309"
|
|
||||||
"{{points}}\x03 | Round Score: \x0309{{round}}\x03 | Total: \x0309{{total}}",
|
|
||||||
_("""The template used to render correct answer replies."""),
|
|
||||||
),
|
|
||||||
)
|
|
||||||
|
|
||||||
conf.registerChannelValue(
|
|
||||||
Jeopardy.template,
|
|
||||||
"skip",
|
|
||||||
registry.String(
|
|
||||||
"No one got the answer! It was: {{answer}}",
|
|
||||||
_("""The template used to render unanswered question and skip replies."""),
|
|
||||||
),
|
|
||||||
)
|
|
||||||
|
|
||||||
conf.registerChannelValue(
|
|
||||||
Jeopardy.template,
|
|
||||||
"stop",
|
|
||||||
registry.String(
|
|
||||||
"Jeopardy! stopped.{% if answer %} (Answer: {{answer}}){% endif %}",
|
|
||||||
_("""The template used to render stop replies."""),
|
|
||||||
),
|
|
||||||
)
|
|
||||||
|
|
||||||
conf.registerChannelValue(
|
|
||||||
Jeopardy.template,
|
|
||||||
"time",
|
|
||||||
registry.String(
|
|
||||||
"{{time}} seconds remaining. [.hint] [.question] [.skip]",
|
|
||||||
_("""The template used to render time remaining replies."""),
|
|
||||||
),
|
|
||||||
)
|
|
1132
Jeopardy/plugin.py
1132
Jeopardy/plugin.py
File diff suppressed because it is too large
Load Diff
@ -1,6 +0,0 @@
|
|||||||
requests
|
|
||||||
ftfy
|
|
||||||
beautifulsoup4
|
|
||||||
textdistance[extras]
|
|
||||||
jinja2
|
|
||||||
unidecode
|
|
@ -1,13 +0,0 @@
|
|||||||
from supybot.setup import plugin_setup
|
|
||||||
|
|
||||||
plugin_setup(
|
|
||||||
'Jeopardy',
|
|
||||||
install_requires=[
|
|
||||||
'beautifulsoup4',
|
|
||||||
'ftfy',
|
|
||||||
'jinja2',
|
|
||||||
'requests',
|
|
||||||
'textdistance',
|
|
||||||
'unidecode',
|
|
||||||
],
|
|
||||||
)
|
|
Loading…
x
Reference in New Issue
Block a user