Compare commits

..

773 Commits

Author SHA1 Message Date
Caleb Johnson 343132a371 [Audio] Connect to lavalink in the background (#2460)
Also:
- restart and reconnect if connection settings change
  - shutdown and restart if not configured to use external
- show a message in [p]play et al. when the connection hasn't been made
- move the JAR download to manager so audio.py can access it
- only start if no process exists
- bump red-lavalink to 0.2.3

Resolves #2306
2019-02-17 09:47:19 +11:00
Toby Harradine e97240e568 Bump version to 3.0.1
Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
2019-02-16 12:25:26 +11:00
Michael H 6383e9f738 [Utils] Add filters for spoiler markdown (#2401)
This also wraps some fields of the modlog with the same sanitization, as well as the `[p]names` command.
2019-02-16 11:56:20 +11:00
Michael H d96062226d [Audio] Remove players which no longer have a guild. (#2414)
Cleanup players when the bot has one for a guild it leaves.

Bumps Red-Lavalink to v0.2.2
2019-02-16 11:17:18 +11:00
Twentysix eebed27fe7 [Downloader] [p]pipinstall: Handle no args 2019-02-16 11:06:56 +11:00
Toby Harradine 278abecdef Add missing version bumps from 7c8ac9c
Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
2019-02-16 11:06:27 +11:00
ZeLarpMaster 21ac81679f [Trivia] Fix typo in cars.yaml (#2456) 2019-02-16 09:17:43 +11:00
DiscordLiz 5cf0c98bca Prevent error when ctx.send_interactive prompt is deleted (#2447)
Supress excpetions which may occur when attempting to delete a prompt.

fixes #2380
2019-02-16 09:17:34 +11:00
Toby Harradine 7c8ac9cd54 Update dependencies and copyright year (#2436)
- aiohttp 3.5
- websockets 7
- Rapptz/discord.py@700dbb5
- A few others

Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
2019-02-16 09:17:02 +11:00
Toby Harradine cfd8ef6025 Guard parsing of CLI args in launcher, setup scripts (#2432)
Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
2019-02-16 09:06:28 +11:00
PredaaA 174754f800 Update help_formatter.py (#2431) 2019-02-16 09:06:11 +11:00
Twentysix 53aa84bb94 [p]userinfo: Handle target w/ 'None' Member.joined_at (#2426) 2019-02-16 09:06:04 +11:00
Toby Harradine a2c0bddd6b Default rules for subcommands precede supercommands (#2422)
This incorporates default rules into the same resolution techniques used by concrete rules.

Resolves #2313.

Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
2019-02-16 09:05:58 +11:00
zephyrkul 7dd3310377 [Downloader] Use shlex for subprocesses (#2421) 2019-02-16 09:05:50 +11:00
Toby Harradine 0fa2e36629 Always tick Voice requirements on startup screen (#2413)
Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
2019-02-16 09:05:41 +11:00
zephyrkul 3b38a5f9b9 Send help on empty [p]load/unload/reload (#2410)
Rather than attempting to load / reload / unload nothing, send command help on bare `[p]load`, etc. commands.
2019-02-16 09:05:32 +11:00
zephyrkul f61e8e0907 [Core] Utilize consume rest, Union (#2407) 2019-02-16 09:05:17 +11:00
Michael H 5fc8f9fee1 prevent traceback (#2406)
* prevent traceback related to  Rapptz/discord.py#1638

* formatting
2019-02-16 09:05:08 +11:00
Michael H 644bb0a560 Improve usability of warnings/unwarn\n resolves #2403 (#2404) 2019-02-16 09:04:58 +11:00
PredaaA 93ea773b7c [Core cmds] [p]servers: handle message deletion (#2400) 2019-02-16 09:04:50 +11:00
Redjumpman 655b5a96ba [Utils] Fix for MessagePredicate.lower_contained_in (#2399)
Added a missing str.lower() method when checking to see if the content is in the list.
2019-02-16 09:04:41 +11:00
Toby Harradine bbe88293ab Use python-Levenshtein-wheels (#2393)
This removes the compiler detection logic in setup.py. python-Levenshtein-wheels includes pre-built wheels for virtually all operating systems and architectures we support.

Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
2019-02-16 09:04:32 +11:00
Toby Harradine 91258fea78 Bump version to 3.0.0
Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
2019-01-28 14:52:14 +11:00
Toby Harradine 5c1c6e1f03 Remove version from help message
Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
2019-01-28 14:49:55 +11:00
Toby Harradine 6d5762d711 Move Red-Lavalink to main requirements
Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
2019-01-28 14:38:43 +11:00
Toby Harradine 05bef917ae Vendor discord.py (#2387)
Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
2019-01-28 14:14:36 +11:00
Caleb Johnson 348277bcbd [Audio] Lavalink 3.0/3.1 compatibility updates (#2272)
- Update to red-lavalink v0.2.0 (blocked by Cog-Creators/Red-Lavalink#41)
- Force lavalink to use TLSv1.2 on java 11+ (blocked by #2270)

I would add equalizer support, but there's no way to know the full
Lavalink version and thus whether it's supported ahead of time.
2019-01-28 12:43:21 +11:00
Iangit1 158c4f741b Grammar in ask_sentry and interactive_config (#2383) 2019-01-21 09:07:55 +11:00
Michael H 1c4193cce2 [Permissions] Quick extra comment of importance (#2379) 2019-01-18 14:48:00 +11:00
Michael H 849ade6e58 Reconcile permission hooks with ctx.permission_state (#2375)
Resolves #2374.

See mod.py's voice mute for an example of why this may be necessary.
2019-01-18 14:45:34 +11:00
Toby Harradine 0d4e6a0865 Fix MongoDB to JSON migration and warn about Mongo driver (#2373)
Resolves #2372.

Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
2019-01-18 11:26:33 +11:00
Toby Harradine 32bd47e105 Bump version to 3.0.0rc3.post1
Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
2019-01-11 13:09:40 +11:00
Toby Harradine 1bb5d698cc Make Travis only do py36 tox when deploying
Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
2019-01-11 13:04:00 +11:00
Toby Harradine 9752a9c719 Bump version to 3.0.0rc3 (#2367)
Also updated some dependencies, including discord.py.

Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
2019-01-11 11:10:01 +11:00
Toby Harradine 7973babe4b Catch exceptions in [p]backup (#2363)
Resolves #2354.

Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
2019-01-11 09:07:37 +11:00
Michael H 78e4b578e2 [Utils] Tunnel minor fixes (#2366)
- Tunnel uses a safe max size (Max size is related to maximum payload, not maximum file size)
  - Checks attachment sizes prior to download
2019-01-10 19:46:49 +11:00
Toby Harradine 8eb8848898 [Mod] Context-based voice checks (#2351)
- Removed `redbot.cogs.mod.checks` module
- Moved logic for formatting a user-friendly list of permissions to `redbot.core.utils.chat_formatting`
- `[p]voice(un)ban` and `[p](un)mute voice` now check permissions in the user's voice channel

Resolves #2296.

Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
2019-01-10 11:35:37 +11:00
Toby Harradine aac1460240 [Utils] Exit menu silently when message is deleted (#2344)
Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
2019-01-10 11:33:38 +11:00
Toby Harradine dde5582669 [CogManager] Removal of implicit paths and general cleanup (#2345)
- Removed memory-sided `CogManager._paths` attribute, as it has no practical use.
- `[p]removepath` now removes the actual path displayed with the index specified in `[p]paths`.
- New method for retreiving a deduplicated list of user-defined paths as `Path` objects
- General cleanup so we don't have to do so much head-scratching next time an issue arises here

Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
2019-01-06 11:02:58 +11:00
Toby Harradine aa854cf1f9 [CustomCom] Insert space before newline separating CC previews (#2350)
Resolves #2295.

Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
2018-12-29 16:54:32 +01:00
Toby Harradine 2bd05a5a04 Fix JSON to Mongo migration (#2346)
Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
2018-12-29 10:51:31 +11:00
Toby Harradine 3a8da1f82b [Cleanup] Fix cleanup after
Resolves #2343.

Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
2018-12-22 09:19:25 +11:00
Toby Harradine 811634a2b0 [Permissions] Help menu respects rules (#2339)
Resolves #2249.

Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
2018-12-21 13:30:13 +11:00
Toby Harradine 2512320b30 [DataManager] Don't copy bundled data to cog data folder (#2342)
- `load_bundled_data` is now deprecated and obselete
- Bundled data is now no longer copied to the cog's data folder, greatly simplifying its operations under the hood. Instead, `bundled_data_path` will now return the path to the folder from which the files would have previously been copied.

Resolves #2329.

Resolves #2280.
2018-12-21 13:26:00 +11:00
Michael H db03faf042 Make webhooks automod immune (#2337)
Resolves #2336.
2018-12-21 11:43:46 +11:00
Toby Harradine 701259158f [Permissions] Always respect default rules (#2341)
Resolves #2340.

Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
2018-12-21 10:35:17 +11:00
Kowlin a5efdc6492 [Mod] Handle invalid nicknames in [p]rename (#2311) 2018-12-16 11:21:36 +11:00
Kowlin 38b15ded87 [Mod] Fixed loud RuntimeError on modlog cases (#2331) 2018-12-16 10:26:48 +11:00
Michael H 351749dff6 [Permissions] Find things uniquely for models (#2258)
This is a safety measure to prevent accidentally passing a model which has the same name as another model, potentially modifying rules for the unwanted one.
2018-12-16 10:09:18 +11:00
Michael H 2d9912cea7 prevent locking out owner (#2317) 2018-12-13 18:38:03 +01:00
NNTin c4ab34a049 V3: regex extension on java -version (#2316)
* regex extension on java -version

* make it a non capturing group

* alphanumeric matching

* Match specification: Style, line length

* Update manager.py
2018-12-13 18:28:00 +01:00
Michael H 985e7b3c6d swap unsafe yaml.load usage for yaml.safe_load (#2324)
Related to #2323

Recommend additionally adding a step in CI
ensuring use of `yaml.load` is prevented from existing in the code base.
2018-12-13 18:19:27 +01:00
palmtree5 7546c50226 [Streams] Toggle mentions on for roles being alerted (#2252)
Resolves #1831.
2018-11-24 10:46:38 +11:00
aikaterna 6435f6b882 [Audio] Match openJDK 11 on Ubuntu (#2270)
Using the OpenJDK 11 from java.net on Ubuntu 18 reports "11" as the version, which failed the Java version check on loading audio on a new instance. This change will return "11 0" as the version, passing the check, instead of just "11".
2018-11-24 10:45:37 +11:00
aikaterna bbccb671b8 [Audio] Disallow seek during active vote (#2290)
Users were able to use seek to skip songs while voteskip was active. This change prevents users from doing so.
2018-11-24 10:43:23 +11:00
Twentysix 8abb24bc01 [Core] [p]leave: Fix incorrect response handling (#2302) 2018-11-24 10:42:05 +11:00
aikaterna 419008f644 [Downloader] Findcog fix with no repo installed (#2304)
The findcog command errored out if a repo was removed. This change informs the user that the repo is not installed instead of erroring out.
2018-11-24 10:39:54 +11:00
odinair d17c2430d7 [Streams] Fix alerts with no configured mentions (#2305) 2018-11-24 10:14:43 +11:00
Michael H ca533f8937 [JsonIO] race condition fix (#2308)
* race condition fix

* style fix
2018-11-24 10:11:59 +11:00
Michael H 9d22d5b7b5 [Cleanup] Correct handling of command message (#2310)
Resolves #2307
2018-11-24 10:04:08 +11:00
Kowlin 2846dce6ea [Mod] [p]modset: Fix KeyError (#2279)
Co-authored-by: aikaterna <20862007+aikaterna@users.noreply.github.com>
2018-11-14 23:35:56 +01:00
aikaterna 9973b2e3b8 [General] [p]urban: Handle no embeds (#2285) 2018-11-14 23:21:11 +01:00
aikaterna d008a2559a [General] Clearer error message for [p]rps (#2284) 2018-11-14 22:56:08 +01:00
aikaterna 7f3a0b8a88 [Streams] Add help for streamset (#2287) 2018-11-06 10:26:55 +11:00
aikaterna d0fca373ba [Audio] Local track verify on playlist start (#2271) 2018-11-06 09:44:26 +11:00
FixedThink 451c4c9d54 [Trivia] Fix text formatting issue (#2269)
The "Question number {}" message was being emboldened twice from the left side, making the bot send messages with two redundant asterisks.
2018-11-06 08:58:10 +11:00
zephyrkul a59002275d [Economy] Fix TypeError in [p]payouts (#2263) 2018-11-06 08:55:29 +11:00
Toby Harradine 99bbde7be9 Reject bad perm kwargs in check decorators (#2289)
Also fixed a misspelled kwarg in reports.

Also now raising TypeError for an empty `@checks.has_permissions()` decorator.

Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
2018-11-05 15:07:56 +11:00
Kowlin 92dbd14006 Fixes typos in permissions (#2288)
causing the checks to be thrown out of the window.
2018-11-05 04:19:54 +01:00
palmtree5 6e9243f6e9 Drop unneeded .format in [p]triviaset override (#2268) 2018-10-23 17:40:51 -08:00
Toby Harradine 8bba860f85 Bump version to 3.0.0rc2
Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
2018-10-16 09:37:23 +11:00
Toby Harradine d2d26835c3 [Economy] Detect max balance and prevent OverflowError (#2211)
Resolves #2091.

This doesn't fix every OverflowError with MongoDB; but at least the seemingly easiest one to achieve with core cogs.

Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
2018-10-16 09:30:53 +11:00
Toby Harradine aff62a8006 [Downloader] Unload extensions on uninstall (#2243)
Resolves #2216.

Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
2018-10-16 09:19:32 +11:00
Toby Harradine b5fd28ef7c [CustomCom] Better display for [p]cc list (#2215)
Uses a menu, optionally embedded with respect to the embed settings, for scrolling through the custom command list, each cc with a ~50 character preview. Format is purposefully similar to the help menu.

Resolves #2104.

Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
2018-10-16 08:39:44 +11:00
Michael H c510ebe5e5 [Downloader] Only prompt reload of loaded cogs (#2233) 2018-10-15 23:29:56 +11:00
Toby Harradine 5ba95090d9 [Streams] Suppress HTTPExceptions on load (#2228)
Resolves #2227.

Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
2018-10-15 22:31:14 +11:00
Toby Harradine ad51fa830b [Cleanup] [p]cleanup bot includes aliases and CCs (#2213)
Resolves #1920.

Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
2018-10-15 22:29:07 +11:00
Christopher Rice 1ba922eba2 [Downloader] Add missing prefix format kwarg (#2238)
Fixes #2237.
2018-10-14 17:11:16 +11:00
Christopher Rice 9588a5740c [Downloader] Define Translator in converters module (#2239)
Fixes #2236
2018-10-14 17:09:54 +11:00
Toby Harradine 7cd765d548 Fix permissions hook removal (#2234)
Some in-progress work slipped through #2149, and I figure it should be fixed before RC2.

I've also just decided to allow discovery of permissions hooks from superclasses as well. We should try to be more aware of the possibility of cog superclasses moving forward.

Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
2018-10-14 11:52:39 +11:00
zephyrkul 6022c0f7d7 [Mod] Mute/unmute bugfixes (#2230)
- Helper methods mute_user and unmute_user now take GuildChannel instead of solely TextChannel.
- The bot will not attempt to mute a member with the Administrator permission, as that permission bypasses channel overwrites anyway. The bot will still unmute members with the Administrator permission (see #2076).
- Audit reasons are now specified for mass mutes / unmutes.
- A few typos and missing keyword specifiers were corrected.
- Streamlined some logic and used some already-existing functions.
2018-10-12 15:47:39 +11:00
palmtree5 0548744e94 [V3 Cleanup] fix error in cleanup user (#2225) 2018-10-11 14:36:45 +02:00
Toby Harradine 8b2d115335 [Audio] Rename current_build to current_version in Config (#2219)
Renames the `current_build` key to `current_version`. This means the `current_version` key will always be a dict and never a list, and `current_build` having no defaults means it won't mess with `[p]audioset settings`.

Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
2018-10-11 12:02:02 +11:00
Toby Harradine 094735566d [Warnings] Fix actions not being taken (#2218)
When multiple warning actions were registered, and the user didn't exceed the points for the highest action on the list, no action was taken.

Resolves #2106.

Also commented out the casetype registration for warnings, since it's not actually using modlog yet.

Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
2018-10-11 11:54:11 +11:00
Toby Harradine f7b1f9f0dc [MongoDB] Escape special characters in keys (#2212)
Essentially resolves #2038, although this is escaping and not rejecting keys as that issue implies.

Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
2018-10-11 11:20:42 +11:00
Toby Harradine ce25011f0d [Config] Cast keys to str on get/set/clear (#2217)
This is a step towards a more consistent front-end behaviour of Config, where errors are either circumvented or raised in the same way regardless of the driver being used.

Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
2018-10-11 11:18:57 +11:00
bobloy f85034eb27 [Trivia] Add On/Off as alternatives for YAML bools (#2177) 2018-10-09 22:05:37 +11:00
Toby Harradine 849755ecd2 [Core] Fix errors with [p]backup on MongoDB (#2210)
Resolves #2094.

This command needs some more fixing and cleaning up than this, this is just a simple bugfix which gets it mostly working for now.

Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
2018-10-09 15:30:27 +11:00
Toby Harradine 9217275908 [Permissions] Fix ValueError for "default" rule in config/ACL (#2200)
This was thrown when the "default" key existed and Permissions tried to iterate over the list mapping keys as ints.

Also fixed some issues with saving config with keys as `int` instead of `str`.

Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
2018-10-09 15:14:59 +11:00
zephyrkul 9e13ca45e6 [Mod] Fix KeyError in modset (#2208) 2018-10-09 09:04:51 +11:00
aikaterna 46c38a28eb [Alias] Fix alias help (#2194)
Alias help would only return the first character of the invoked command previously. This change shows help for basic commands that are aliased (i.e. just `ping`) or aliased commands that have an argument included (i.e. `audioset role beep` with `beep` being a role name)
2018-10-08 18:23:32 +11:00
El Laggron 76bbcf2f8c [Core] Support already loaded packages in [p]load (#2116) 2018-10-08 08:18:28 +11:00
ASSASSIN0831 ee7e8aa782 [Economy] Revert change to payday message (#2203)
in the updates were for the i18n translation strings the payday command message was accidentally changed to +(amount) (new balance). This changes it back to its original message +(amount) (currency name)
2018-10-08 07:39:30 +11:00
Toby Harradine fd0abc250d [Audio] Fix type mismatch between config defaults and set value (#2201)
current_build is now set as a dict, but its default was a list.

This resolves the error an `[p]audioset settings`.

Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
2018-10-07 19:33:04 +11:00
Toby Harradine 847f9fc8d1 [CustomCommands] Find default converters properly (#2199)
The new `redbot.core.commands.converter` module was causing default converters to never be found.

Also cleaned up some of the other code (made some methods static, fixed some typing violations)

Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
2018-10-07 12:58:08 +11:00
zephyrkul 046e98565e [Cleanup] use message_filter() over check() param (#2180)
Cleanup's helper method to collect messages to delete was incorrectly filtering by check rather than message_filter, causing delete_after to be ignored.
2018-10-07 10:19:56 +11:00
Toby Harradine 71eddc89ea [Mod] Fix unresolved reference to Member.permissions in reinvite logic
Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
2018-10-07 09:42:25 +11:00
aikaterna 9730a424ec [Admin] Selfrole list formatting (#2193)
Selfrole list needed a return in between the header and the list.
2018-10-07 08:46:32 +11:00
aikaterna 7b260cdafc [Audio] Playlist list, local queue, DJ Role fix (#2191)
Fix for `playlist list`: added forgotten variable plus return for formatting (fixes #2190)

i18n addditions: DJ Role toggle, Thumbnail display toggle

`audioset settings`: added missed end of line return

`queue` fix: added indentation to not have the currently playing song info repeated in the queue display when playing local songs

`local play` and `local folder` now display the appropriate menu when DJ role is on.
2018-10-07 08:42:13 +11:00
aikaterna 4369095a51 [Economy] Fix for bank set (#2192)
i18n variable was wrong.
2018-10-07 08:26:33 +11:00
Toby Harradine 1c706e8c45 Bump version to 3.0.0rc1.post1
Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
2018-10-06 19:25:14 +10:00
Toby Harradine 91029b73e5 Use our own redbot.core.VersionInfo over distutils.StrictVersion (#2188)
* Implements our required subset of PEP 440 in redbot.core.VersionInfo
* Added unit tests for version string parsing and comparisons

Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
2018-10-06 19:11:05 +10:00
zephyrkul de4b42a11e [mongo] fix missing URI variable assignment (#2186) 2018-10-06 14:48:03 +10:00
Toby Harradine 03230b6386 Remove branch condition from Travis deployment
So we can automatically deploy from release branches
2018-10-06 14:07:27 +10:00
Toby Harradine 4dbf2796c0 Bump version to 3.0.0rc1
Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
2018-10-06 10:26:59 +10:00
Twentysix 03892f5ef1 [Utils] Markdown helpers escape special chars (#2182)
Escaping italics (`*`) that get passed to `italics()` doesn't work, the string still won't show up properly.
2018-10-06 10:14:11 +10:00
bobloy fdf3f86ab0 [Utils] Allow menu() to be used DM (#2183)
`ctx.me` handles using `ctx.guild.me` if `ctx.guild is not None`
`ctx.guild.me` directly errors in DMs.
2018-10-06 10:02:09 +10:00
Toby Harradine 7b15ad5989 Merge branch V3/feature/i18n_pass into V3/develop (#2024)
[i18n] Improves the coverage and quality of extracted user-facing string literals in the `redbot.core` package and makes them less ambiguous for the translator.
2018-10-06 09:58:45 +10:00
Toby Harradine 443f2ca556 [i18n] Pass over modlog, permissions, reports, streams, trivia, warnings
Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
2018-10-06 09:01:04 +10:00
Toby Harradine fa692ccc0b [i18n] Pass over economy, filter, general, image, mod
Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
2018-10-06 09:00:31 +10:00
Toby Harradine 0c3d8af8f4 [i18n] Pass over bank, cleanup, customcom, dataconverter, downloader
Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
2018-10-06 08:57:49 +10:00
Toby Harradine 3a20c11331 [i18n] User-facing string pass over admin, alias and audio 2018-10-06 08:43:19 +10:00
Michael H aa8c9c350e [i18n] Start work on named format arguments (#1795) 2018-10-06 08:42:38 +10:00
Michael H 139329233a [Utils/Trivia] Handle smart quotes (#2162)
Adds a new filter function for substituting out smart-quotes.

Makes trivia use it.
2018-10-06 08:39:52 +10:00
Michael H d79996aeea [Downloader] Better user facing feedback on cog update (#2165) 2018-10-06 08:24:55 +10:00
Toby Harradine fb839084fe Merge branch V3/feature/predicates into V3/develop (#1986)
Predicate utility to replace common boilerplate predicates for event waiting.
2018-10-06 08:15:25 +10:00
Toby Harradine dea9dde637 [Utils] Finish and Refactor Predicate Utility (#2169)
* Uses classmethods to create predicates
* Classmethods allow using a combination of different parameters to describe context
* Some predicates assign a captured `result` to the predicate object on success
* Added `ReactionPredicate` equivalent to `MessagePredicate`
* Added `utils.menus.start_adding_reactions`, a non-blocking method for adding reactions asynchronously
* Added documentation
* Uses these new utils throughout the core bot
Happened to also find some bugs in places, and places where we were waiting for events without catching `asyncio.TimeoutError`

Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
2018-10-06 08:07:09 +10:00
zephyrkul ebc657dcc6 [Config] Add Group.clear_raw method (#2178)
Adds a `clear_raw` method to Group objects, similar to the existing `get_raw` and `set_raw` methods.
Documentation included.
2018-10-05 13:03:27 +10:00
zephyrkul 80506856fb [Checks] Preserve backwards compatibility in deprecated functions (#2176)
* [checks] preserve backwards compatability

* [checks] use correct ctx.author
2018-10-04 10:26:44 +10:00
palmtree5 93a0e45c34 [Filter] implement exempting channels from the filter (#2064) 2018-10-03 08:43:04 +10:00
bobloy 3cb2b95121 [V3 Cleanup] Cleanup Before command (#2171)
Adds the ability to cleanup before a specified message id. Requires passing a number of messages to delete to keep with syntax of cleanup self/user
2018-10-03 08:28:10 +10:00
bobloy a04869ab27 [Trivia] Fix misuse of list.append (#2172) 2018-10-03 08:22:42 +10:00
Twentysix c69b1185d3 [Black] Don't normalize underscores in numeric literals (#2174) 2018-10-03 08:19:30 +10:00
Toby Harradine ad7466a026 Dependency Update (#2175)
##### Core requirements
* _discord.py_ Rapptz/discord.py@77239e4 -> Rapptz/discord.py@836ae73
* _aiohttp-json-rpc_ 0.11.1 -> 0.11.2
* _aiohttp_ 3.3.2 -> 3.4.4

##### [test]
* _pytest_ 3.8.1 -> 3.8.2

##### [docs]
* _packaging_ 17.1 -> 18.0
* _pyparsing_ 2.2.1 -> 2.2.2
* _six_ Removed duplicate entry

##### [style]
* _black_ 18.6b4 -> 18.9b0
* _click_ 6.7 -> 7.0

### Notes
- `extra_requires` in setup.py is now a module-level global
- Some style changes have occurred after the _black_ update

Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
2018-10-03 08:10:13 +10:00
zephyrkul 54dad2a604 [Mod] Use list.copy() for tempban expirations (#2166)
Fixes an error left behind from #2161 (modifying a list while iterating over it)
2018-10-02 18:46:11 +10:00
bobloy d5899fae83 [RPC] Add missing await in rpc_load (#2167) 2018-10-02 18:44:38 +10:00
Redjumpman 5d44bfabed [Utils] Initial Work on Predicate Utility (#1985)
* Add files via upload

* Update predicates.py

Changed sender from a discord.Member object to ctx.
Added a channel check.
Combined the same method and channel method into a validator and applied through-out.
valid_role and has_role methods now check for either an id or a name.
contained now uses string.lower() when testing for membership in a collection.

Signed-off-by: Redjumpman <redjumpman@users.noreply.github.com>
2018-10-02 16:19:40 +10:00
Ryan b6c8be5f43 [MongoDB] Support mongodb+srv protocol (#2159) 2018-10-01 16:49:29 +10:00
aikaterna b2abfc5710 [Audio] Playlist list and notify msg changes (#2155) 2018-10-01 16:44:46 +10:00
zephyrkul a9b328ff3c [Mod] Remove tempban from data after unbanning (#2161)
Resolves #2160.

Also resolves another issue where the bot will error out when getting the guild's invites when it doesn't have the Manage Server permission.
2018-10-01 14:15:51 +10:00
Toby Harradine 0870403299 Permissions redesign (#2149)
API changes:
- Cogs must now inherit from `commands.Cog` (see #2151 for discussion and more details)
- All functions which are not decorators in the `redbot.core.checks` module are now deprecated in favour of their counterparts in `redbot.core.utils.mod`. This is to make this module more consistent and end the confusing naming convention.
- `redbot.core.checks.check_overrides` function is now gone, overrideable checks can now be created with the `@commands.permissions_check` decorator
- Command, Group, Cog and Context have some new attributes and methods, but they are for internal use so shouldn't concern cog creators (unless they're making a permissions cog!).
- `__permissions_check_before` and `__permissions_check_after` have been replaced:  A cog method named `__permissions_hook` will be evaluated as permissions hooks in the same way `__permissions_check_before` previously was. Permissions hooks can also be added/removed/verified through the new `*_permissions_hook()` methods on the bot object, and they will be verified even when permissions is unloaded.
- New utility method `redbot.core.utils.chat_formatting.humanize_list`
- New dependency [`schema`](https://github.com/keleshev/schema)

User-facing changes:
- When a `@bot_has_permissions` check fails, the bot will respond saying what permissions were actually missing.
- All YAML-related `[p]permissions` subcommands now reside under the `[p]permissions acl` sub-group (tbh I still think the whole cog has too many top-level commands)
- The YAML schema for these commands has been changed
- A rule cannot be set as allow and deny at the same time (previously this would just default to allow)

Documentation:
- New documentation for `redbot.core.commands.requires` and `redbot.core.checks` modules
- Renewed documentation for the permissions cog
- `sphinx.ext.doctest` is now enabled

Note: standard discord.py checks will still behave exactly the same way, in fact they are checked before `Requires` is looked at, so they are not overrideable. 

Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
2018-10-01 13:19:25 +10:00
Toby Harradine f07b78bd0d Fix help command with cogs (#2156)
This bug was introduced in #2122 (whoops)

Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
2018-09-30 14:19:25 +10:00
Toby Harradine b2497386bb Update dependencies (#2148)
Core dependencies:
- discord.py: Rapptz/discord.py@00a659c6 -> Rapptz/discord.py@00a659c6
- multidict: 4.4.0 -> 4.4.2

[docs]
- pyparsing: 2.2.0 -> 2.2.1
- sphinx: 1.7.8 -> 1.7.9

[test]
- pytest: 3.7.4 -> 3.8.1

[style]
- toml: 0.9.4 -> 0.9.6

----

I've also replaced usages of `discord.utils.get(guild.roles, id=id)` with the new O(1) `guild.get_role(id)` method.

Signed-off-by: Toby <tobyharradine@gmail.com>
2018-09-25 16:09:36 +10:00
Michael H f8558b98c1 Automated mod action immunity settings (#2129)
Refactors, and fixes some logic in filter which was encountered while
applying the settings to core
2018-09-25 11:30:28 +10:00
Michael H 84ac5f3952 JsonIO atomic write improvements (#2132)
Use `async with Lock` instead of deprecated `with await lock` usage.

Forces a file fsync prior and a directory fsync (where available) after rename to prevent issues with left behind temp files.

Also should clarify: this is not threadsafe. Comments were clarified, function names remain misleading.
2018-09-24 18:29:14 +10:00
Michael H 404800c556 Hackban fixes (#2128)
If the member is in the guild, delegates to existing ban logic.

Additionally, check that we have ban perms prior to attempting to fetch the existing ban list.

Fixes #2127.
2018-09-24 18:21:21 +10:00
Toby Harradine 415385b747 [Downloader] Fix git pull command (#2146)
I somehow managed to botch this in #2121

Signed-off-by: Toby Harradine <t.harradine@student.unsw.edu.au>
2018-09-24 13:20:30 +10:00
Toby Harradine f7dbaca340 Refactor fuzzy help and clean up help command (#2122)
What's changed:
- Fixed issues mentioned on #2031
- Fuzzy help displays more like help manual
- Fuzzy help is easier and more flexible to use
- Fuzzy help string-matching ratio lowered to 80
- Help formatter is more extendable
- Help command has been optimized, cleaned up and better incorporates fuzzy help
- Added async_filter and async_enumerate utility functions because I was using them for this PR, then no longer needed them, but decided they might be useful anyway.
- Added `Context.me` property which is a shortcut to `Context.guild.me` or `Context.bot.user`, depending on the channel type.
2018-09-24 10:34:39 +10:00
bobloy 32b4c6ce86 [Image] Remove V2 relics from command decorators (#2138) 2018-09-23 23:44:01 +10:00
zephyrkul a3c36d4bde NoneType check for module in should_log_sentry (#2139)
Allows for a lack of module (which returns False) for `should_log_sentry`. This allows for, say, commands to be added by the Dev cog. ( ͡ಠ ʖ̯ ͡ಠ)
2018-09-23 23:42:25 +10:00
bobloy fc4703ef80 [Launcher] Don't ask for CLI flags when no instances (#2142)
Seems to have been fixed in #1497 but accidentally reverted at a later date.
2018-09-23 23:39:32 +10:00
zephyrkul a301b2c758 Add missing @staticmethod to Red.send_filtered (#2143)
Method was previously missing `self` argument but was missing static decorator.
2018-09-23 23:34:57 +10:00
Toby Harradine e27682abd3 [Downloader] More robust repo loading (#2121)
Previously, when downloader was loaded, the RepoManager would spawn a task to load available repos. If one repo failed loading for some reason, the function would raise and the remaining repos would never be loaded, however downloader would still appear to load correctly.

This change handles exceptions better during repo loading, but also, if an unhandled exception is raised, downloader will fail to load as it should.

Also included, as requested in #1968, is the --recurse-submodules flag in cloning/pulling repositories.

This change resolves #1950.

Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
2018-09-22 15:05:42 +10:00
Toby Harradine df922a0e3e [Audio] More robust startup and unload (#2118)
* More robust cleanup for audio and streams

Signed-off-by: Toby Harradine <tobyharradine@gmail.com>

* Remove copied code from streams

Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
2018-09-22 15:04:46 +10:00
aikaterna 51c83d958c [Audio] Check if player is playing when pausing (#2130) 2018-09-18 23:54:32 +10:00
Toby Harradine 17139ce439 Fix compiler detection on Windows (#2136)
Signed-off-by: Toby Harradine <t.harradine@student.unsw.edu.au>
2018-09-18 14:07:50 +10:00
zephyrkul 61652a0306 [V3 CustomCommands] Cooldowns (#2124)
* customcom cooldowns

allows you to set multiple different cooldowns for custom commands

* black formatting

* [docs] cooldowns
2018-09-17 17:47:45 +02:00
Michael H 113b97b9c9 Fix role check in local blacklist/whitelist (#2134)
fixes #2133 , 

`discord.Role.is_default` is a method, not a property.
2018-09-17 17:30:56 +10:00
zephyrkul 2784730f7f [V3] Utilize shorten_by (#2131)
* utilize shorten_by

otherwise you get errors

* trivia shorten_by

* warnings shorten_by

max username length is 32 characters

* black formatting
2018-09-15 01:48:31 +02:00
Toby Harradine 1a9216b522 Set 3.6.6 as minimum python version on Windows (#2117)
* Set 3.6.6 as minimum python version on Windows

Signed-off-by: Toby Harradine <tobyharradine@gmail.com>

* Conditional python_requires in setup.py

Signed-off-by: Toby Harradine <tobyharradine@gmail.com>

* Should probably add the comment too

Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
2018-09-14 21:22:43 +10:00
Toby Harradine 08fc732b7b [Downloader] Fix URL parsing for non-GitHub/GitLab links (#2123)
Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
2018-09-12 11:01:54 +10:00
Toby Harradine 54baf687ec [Downloader] Parse tree URLs when cloning repos (#2119)
* [Downloader] Parse tree URLs when cloning repos

Signed-off-by: Toby <tobyharradine@gmail.com>

* Only match GitHub and GitLab URLs

Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
2018-09-12 10:03:15 +10:00
Toby Harradine 8096cd803e Bump version to 3.0.0b21 (#2115)
Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
2018-09-10 00:44:11 +10:00
Toby Harradine 27b0d606c8 Fix CCs with no args (#2114)
Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
2018-09-10 00:35:53 +10:00
aikaterna af220e497f [Docs] Update sample cog (#2072)
* [V3 Docs] Update sample cog

* Remove self.bot assignment

We don't really do this any more unless we need to
2018-09-09 23:35:22 +10:00
Toby Harradine 892b2487f5 Dependency update (#2100)
aiohttp-json-rpc 0.11 -> 0.11.1
atomicwrites 1.1.5 -> 1.2.1
attrs 18.1.0 -> 18.2.0
certifi 2018.4.16 -> 2018.8.24
discord.py 8ccb98d395537b1c9acc187e1647dfdd07bb831b -> 00a659c6526b2445162b52eaf970adbd22c6d35d
fuzzywuzzy 0.16.0 -> 0.17.0
imagesize 1.0.0 -> 1.1.0
multidict 4.3.1 -> 4.4.0
py 1.5.4 -> 1.6.0
pytest 3.7.0 -> 3.7.4
sphinx 1.7.6 -> 1.7.8

Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
2018-09-09 23:21:48 +10:00
Kowlin 7971c02dc5 Escape user and passwords for mongo (#2111)
* Escape user and passwords for mongo.

* Quote -> Quote_Plus

* formatting
2018-09-09 23:07:40 +10:00
zephyrkul c1d8272b49 [CustomCommands] Show parameter name correctly in help (#2102) 2018-09-09 23:05:33 +10:00
aikaterna bce5dd26f3 [Audio] Local playback (#2097)
* [V3 Audio] Local playback

* Formatting

* Update application.yml

* Add catch for an empty localtracks directory

* Linebreak in help for i18n
2018-09-09 23:02:53 +10:00
zephyrkul 04e97f3516 [CustomCom] Custom Command Parameters (#2051)
* [V3 CustomCom] Custom Command Parameters

Allows specifying more parameters for CC's via {0}, {1}, etc. that will be filled by the user invoking the CC. Python-style type hinting and attribute access is also allowed for Discord and builtin types.

> [p]cc add simple greet Hi, {0.mention:Member}!
> ...
> [p]greet zephyrkul
> Hi, @zephyrkul!

The bot will reply with the standard help messages if the cc is incorrectly executed.

> [p]greet me
> Member "me" not found

* black formatting

* check command failure

Only call the custom command if the faked command succeeded.

* misc fixes

1) don't str.strip all the time, it's not family-friendly and doesn't match transform_parameter
2) transform_arg now actually returns strings in every case
3) improve prepare_args parsing security
4) help parameters will show what type they expect
5) make linter less angery

* customcom documentation

I hate rst

* don't require repeated type hinting

If a parameter was type hinted previously, don't require it again.
Ex: `{0.display_name:Member}#{0.discriminator}` is now possible.

* add cog_customcom.rts to index

I despise rst

* don't enforce order

Allow type hinting and attribute access to be in either order.
Ex. `{0:Member.mention}` is now valid.

* clean up on_message

We're building context anyway, may as well use it.

* [doc] correct cog name

Cog class is named CustomCommands, not CustomCom

* minor on_message optimization

only build context if it's needed

* update cc_add docstring

Old one wasn't user-friendly. Replaced with a link to the new docs.
Link will not function until PR is merged and docs refreshed.

* [doc] change repeat to say

repeat is an audio command, use say in the example instead

* compare ctx.prefix to None

allows for null prefixes, which is a bad idea but who am I to judge

* address review

* raise error on conflicting colon notation

bugfix I was working on but failed to actually commit
2018-09-07 00:14:02 +10:00
Toby Harradine 7eed033c9e Prettify README and translate to MarkDown (#2101)
Signed-off-by: Redjumpman <redjumpman@users.noreply.github.com>
2018-09-06 21:53:18 +10:00
Richard Guan a2fe1a8757 [Audio] Don't allow duplicate links in playlists (#2071)
* Just a test

* another test

* undoing my test

* First solution, style issue

* Works functionally, but there are is a minor style issue

* style fixed

* Revert README changes
2018-09-06 16:25:27 +10:00
Toby Harradine 9ee860c3f0 [Core] Command disable feature (#2099)
* [Core] Command disable feature

Signed-off-by: Toby Harradine <tobyharradine@gmail.com>

* [Core] Allow user to set the "command disabled" message

Signed-off-by: Toby Harradine <tobyharradine@gmail.com>

* Reformat

Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
2018-09-06 12:52:19 +10:00
Toby Harradine 1dbe9537e9 Ignore fuzzywuzzy slow sequence matcher warning (#2096)
* Ignore fuzzywuzzy slow sequence matcher warning

Signed-off-by: Toby Harradine <tobyharradine@gmail.com>

* Add log.info call instead

Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
2018-09-06 12:50:30 +10:00
Toby Harradine 775f4ce69a Use ProactorEventLoop on Windows (#2062)
* Use ProactorEventLoop on Windows

Signed-off-by: Toby Harradine <tobyharradine@gmail.com>

* Set the actual loop instead of the policy

Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
2018-09-06 00:40:15 +10:00
zephyrkul e83beeef34 [Audio] Add [p]sing (#2067)
* port [p]sing

* [p]sing in alphabetical order

what even is an alphabet
2018-09-04 13:23:50 +10:00
Brramble e77cfff892 [p]serverinfo respects set embed colour (#2083) 2018-09-04 13:01:50 +10:00
Michael H 9495432b8f More mention filtering (#2081)
* more filters

* note to future people touching this

* chan mentions were almost missed...

* Swap strategies as the previous escaped the mention, while still pinging the user/role
2018-09-04 12:59:59 +10:00
palmtree5 d71c334a34 [Filter] Fix issue with filtering sentences (#2065) 2018-09-04 12:55:18 +10:00
Michael H aa8cc90ad0 Update minimum Python version to 3.6.2 (#2093)
* Correct minimum version

see #2092 

While this is needed because of an import just for typing, I see no reason not to bump the minimum version since this is a minor version difference since this is several minor version behind the latest 3.6, and there have been both security and performance improvements since.

That said, we need to be testing on our lowest supported version to ensure we don't have this happen again, right now our tests run on whatever Travis grabs for 3.6, which I assume is 3.6.6, but could be wrong.

* Update other mentions of min version to 3.6.2
2018-09-04 11:38:56 +10:00
palmtree5 589041556e [Streams] Fix excessive writes to config (#2095)
Resolves #2052.
2018-09-04 11:01:48 +10:00
El Laggron 85354f2722 Support missing .po files (#2068)
* [V3 Core] Support missing .po files

* Modified if-state

* Use PEP8 recommendation for empty list check

https://www.python.org/dev/peps/pep-0008/#programming-recommendations
2018-09-03 15:44:58 +10:00
Toby Harradine c0c5535005 [Warnings] Help users understand custom reasons (#2049)
Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
2018-09-03 14:57:14 +10:00
zephyrkul e126cf9f4e [Launcher] use "python -m" to run Red (#2080)
friendlier for virtual environments
2018-09-03 10:44:50 +10:00
aikaterna c2d23b37a7 [Audio] Fix for using [p]now with thumbnail (#2063) 2018-08-28 13:02:40 +10:00
aikaterna 3a968d707f Fix Travis deployment attempt 2 (#2061) 2018-08-27 10:24:03 +10:00
aikaterna b07c44c8b4 Fix travis deployment (#2060) 2018-08-27 10:09:02 +10:00
aikaterna 43b0a58649 [Audio] Fix for embed color (no, COLOUR) on notify messages (#2059) 2018-08-27 09:44:19 +10:00
Toby Harradine f258e93cf7 Bump version to 3.0.0b20 (#2050)
Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
2018-08-27 09:28:37 +10:00
Toby Harradine 93138b04cb [Streams] Set YouTube channel name when added by ID (#2047)
* [Streams] Set YouTube channel name when added by ID

Signed-off-by: Toby Harradine <tobyharradine@gmail.com>

* Move unset token raise to correct place

Signed-off-by: Toby Harradine <tobyharradine@gmail.com>

* Correct logic in get_stream

Signed-off-by: Toby Harradine <tobyharradine@gmail.com>

* Fetch name explicitly instead

Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
2018-08-26 23:53:47 +10:00
Toby Harradine 0cf54ec9c2 [Audio] Do less strict matching for java version (#2035)
* [Audio] Do less strict matching for java version

Signed-off-by: Toby Harradine <tobyharradine@gmail.com>

* [Audio] Fix java version bounds to account for Oracle's bullshit

Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
2018-08-26 23:49:27 +10:00
Toby Harradine ce031cf7bd [Docs] Add virtualenv guide and compress install guides (#2029)
* [Docs] Add virtualenv guide and compress install guides

Signed-off-by: Toby Harradine <tobyharradine@gmail.com>

* [Docs] Better cross-referencing

Signed-off-by: Toby Harradine <tobyharradine@gmail.com>

* Fix pyenv-installer link

Signed-off-by: Toby Harradine <tobyharradine@gmail.com>

* Use sudo -e instead of sudo nano

* Add note about launcher for linux/mac

* Include launcher notes in Windows guide

* Add missing colon
2018-08-26 23:44:56 +10:00
Toby Harradine e6495bc7c0 [Trivia] Move Trivia lists back home (#2028)
* [Trivia] Move trivia lists back home

Removes red-trivia as a dependency.

Signed-off-by: Toby Harradine <tobyharradine@gmail.com>

* Include package data in distribution

Signed-off-by: Toby Harradine <tobyharradine@gmail.com>

* Add test from red-trivia repo, and fix package data setup

* The distribution will now include all files under any data/ sub-directory of a package, as well as all *.po files under any locales/ sub-directory (as it should have been before).

* MANIFEST.in has been simplified to comply with these changes and redbot/cogs/audio/application.yml has been moved to the data/ sub-directory to maintain consistency in how we declare package data.

Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
2018-08-26 23:39:46 +10:00
Toby Harradine 1b196bf0fb [i18n] Use redgettext over pygettext (#2023)
* [i18n] Use redgettext over pygettext

* Clear out autogenerated `messages.pot` files

* Remove redundant `regen_messages.py` files

* Refactor `generate_strings.py` to use redgettext

* Install redgettext in Travis Crowdin job

* Clean up some problematic usages of gettext function

* Reformat

* Replace generate_strings.py with Makefile argument

* Update to redgettext 2.1, use exclusion pattern

Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
2018-08-26 23:35:42 +10:00
Toby Harradine dbed24aaca [Config] Group.__call__() has same behaviour as Group.all() (#2018)
* Make calling groups useful

This makes config.Group.__call__ effectively an alias for Group.all(),
with the added bonus of becoming a context manager.

get_raw has been updated as well to reflect the new behaviour of
__call__.

* Fix unintended side-effects of new behaviour

* Add tests

* Add test for get_raw mixing in defaults

* Another cleanup for relying on old behaviour internally

* Fix bank relying on old behaviour

* Reformat
2018-08-26 23:30:36 +10:00
Toby Harradine 48a7a21aca [Commands] Refactor command and group decorators (#1818)
* [V3 Commands] Refactor command and group decorators

* Add some tests

* Fix docs reference

* Tweak Group's MRO
2018-08-26 23:25:25 +10:00
Toby Harradine f595afab18 [Streams] [p]streamalert twitch channel is not for Discord channels (#2048)
Resolves #2003.

Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
2018-08-26 23:18:22 +10:00
Brramble 0aca00b245 [Audio] Embed colours respect user settings (#2046)
* Embed colours now respect what the user set

* Formatting

* Get embed colour when ctx is unavailable
2018-08-26 13:09:03 +10:00
Toby Harradine 9af58d3abf [Permissions] Remove hook from is_owner check (#2053)
Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
2018-08-25 21:56:40 +10:00
aikaterna dd5ef3696f [Audio] Add thumbnail display with toggle (#1998)
* [V3 Audio] Add thumbnail display with toggle

* [V3 Audio] Add thumbnail to notify messages

* Formatting

* Update thumbnail fetching

* Update thumbnail fetching

* Track thumbnail moved to Red-Lavalink

* Formatting
2018-08-25 10:47:20 +10:00
Toby Harradine 03d49bac53 Update Red-Lavalink to version 0.1.2 (#2034)
Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
2018-08-24 16:28:01 +02:00
Toby Harradine 6c082a10b1 Fix sync check causing errors (#2045)
* Fix sync check causing errors

Signed-off-by: Toby Harradine <tobyharradine@gmail.com>

* Import timedelta...

Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
2018-08-24 16:23:52 +02:00
Michael H 77944e195a Output sanitisation (#1942)
* Add output sanitization defaults to context.send
Add some common regex filters in redbot.core.utils.common_filters
Add a wrapper for ease of use in bot.send_filtered
Sanitize ModLog Case's user field (other's considered trusted as moderator input)
Sanitize Usernames/Nicks in userinfo command.
Santize Usernames in closing of tunnels.

* Add documentation
2018-08-24 23:50:38 +10:00
Michael H 6ebfdef025 Remove self-bot support (#2008) 2018-08-24 22:51:03 +10:00
El Laggron bc39a6741c [Launcher] append --user if the bot isn't in a venv (#2027)
* [V3 Launcher] --user CLI flag

* Better handling of the sys arguments

* Black reformat to -l 99

* Update launcher to PR#2025

* Always append --user if not in a virtualenv

* Remove --user flag
2018-08-24 22:33:57 +10:00
Michael H bda7e08208 Handle time innacuracy by warning owner (#2036)
* handle time innacuracy by warning owner

* Fix typo and add space
2018-08-23 11:28:05 +10:00
Michael H aa69dd381f [Core] Use autohelp properly in local blacklist/whitelist (#2042) 2018-08-23 11:22:03 +10:00
Michael H 1fd8a8e0a6 [Cleanup] Refactor internals (#2013)
* Revert "[Cleanup] Hotfix for [p]cleanup after (#2004)"

This reverts commit 7959654dc8.

* refactor cleanup

* formatting pass

* put back in try/except block
2018-08-21 12:31:48 +10:00
Caleb Johnson 1329fa1b09 [CogManager, Utils] Handle missing cogs correctly, add some helpful algorithms (#1989)
* Handle missing cogs correctly, add some helpful algorithms

For cog loading, only show "cog not found" if the module in question was the one
that failed to import. ImportErrors within cogs will show an error as they should.

- deduplicator, benchmarked to be the fastest
- bounded gather and bounded async as_completed
- tests for all additions

* Requested changes + wrap as_completed instead

So I went source diving and realized as_completed works the way I want it to,
and I don't need to reinvent the wheel for cancelling tasks that remain
if the generator is `break`ed out of. So there's that.
2018-08-21 11:26:04 +10:00
Michael H b550f38eed [Reports] Add guild-only command check (#2016)
Resolves #2015
2018-08-17 00:00:24 +10:00
Toby Harradine ae7b912ac8 Major dependency update (#1974)
* [V3] Stop `tmp` dir showing up

* [V3] Remove requirements.txt and declare in install_requires

* Remove requirements.txt from tox.ini

* Update and pin all dependencies and sub-dependencies

* Update for breaking changes

* Reformat

* Update docs/requirements.txt and tox.ini requirements

* Add 3.7 to identifiers and travis/tox builds

* Attempt at fixing the travis build matrix

* Attempt #2

* Attempt 3

* aiohttp.ClientSession.close() -> detach() in sync code

* Add raven-aiohttp to requirements

* Fix stuff in setup.py

 - Added discord.py back into requirements list
 - Fix typo in alabaster extra requirement

Also in the Pipfile:
 - Removed allow_prereleases and explicitly pinned black, since this is the only dep we want a prerelease for.

* Update to Rapptz/discord.py@8ccb98d395

* Add proper 3.7 build in Travis

See travis-ci/travis-ci#9815

* Which version of 3.6 does Xenial install then?

* Maybe we should stop pipenv installing useless stuff

* Nevermind, back to specific minor version

* Remove lots of WET dependency stuff

* Fix egg fragment for dependency link
2018-08-15 12:10:55 +10:00
Michael H af9478922e Correct errormsg when using discord.ext.commands (#2021)
resolves #2020
2018-08-15 03:05:18 +10:00
Michael H 7acea29cdb [Dev] Friendlier code-block strip for [p]eval(#2017)
not relying on newlines where they aren't required by discord, retaining py highlight support.

Resolves #1928.
2018-08-14 16:31:42 +10:00
Michael H 6082eb21e3 [V3] Enforce use of redbot.core.commands (#1971)
* enforce commands as ours

* clearer user feedback

* No more 'one more tweak' commits without verifying anyway

* more detailed error with docs link + docs update

Resolves #1972.
2018-08-13 11:10:13 +10:00
Toby Harradine a91cda4995 Version bump 3.0.0b19 (#2005) 2018-08-13 10:32:39 +10:00
Toby Harradine 7959654dc8 [Cleanup] Hotfix for [p]cleanup after (#2004)
* [Cleanup] Hotfix for [p]cleanup after

* Reformat

* Log warning for any 3rd party devs using broken helper
2018-08-12 14:46:30 +10:00
Toby Harradine dc9a85ca98 [Streams] Add docstring for [p]streamalert list (#2001) 2018-08-12 12:09:38 +10:00
Kowlin 591ed50ac3 [Mod] Omit empty fields from [p]userinfo (#1829)
* Hide roles if none are found.

* Clarify about omitted fields in help doc
2018-08-11 13:59:43 +10:00
Toby Harradine 47350328e6 [CogManager] Correctly separate core, install and other cog paths (#1983)
* [CogManager] Correctly manage core and install paths

This keeps the core and install paths separate from those set in the
config.

It also displays the core path separately in `[p]paths`

Resolves #1982.

* [CogManager] Fix old reference to method removed in previous commit

Also did a bit of a general cleanup of cog_manager.py's code

* Make the core path a class attribute

* [CogManager] Paths should default to a list
2018-08-11 13:31:26 +10:00
Toby Harradine 75ed749cb3 [Admin] Fix [p]addrole error when a hierarchy issue occurs (#1995) 2018-08-11 12:11:15 +10:00
Toby Harradine f44ea8b749 [ModLog] Call correct method for case message content (#1981) 2018-08-11 12:06:58 +10:00
Toby Harradine 76c0071f57 Pin lavalink to 0.1.0 (#2000) 2018-08-11 12:01:23 +10:00
El Laggron 2a396b4438 [Modlog] Make the case number optional in [p]reason (#1979)
* [V3 Modlog] Make the case number optional

If not specified, it will be the latest case.

* Fix some errors

* Black reformat

* More info for usage string

* Use isdigit instead of isnumeric
2018-08-11 11:44:17 +10:00
Toby Harradine 51a54863c5 [Streams] Don't raise KeyError on missing token (#1994)
Some streaming services don't require a token/clientID.

Resolves #1932
2018-08-10 15:07:30 +10:00
Redjumpman 06f986b92e [General] Fix lmgtfy with '+' in search (#1991) 2018-08-10 14:41:23 +10:00
Toby Harradine 652ceba845 [Bank] Raise TypeError when passing a non-int transaction amount (#1976)
* Raise TypeError when passing a non-int bank amount

* Add a test

* Add some full stops
2018-08-09 22:13:31 +10:00
Michael H 16d0f54d8f [V3 Crowdin] dont upload tox/tests/etc (#1849) 2018-08-09 15:10:30 +10:00
Caleb Johnson 872cce784a [V3 Core] Fix unload_extension for module-less cogs (#1984)
Fixes #1943

This just skips cogs when  `__module__` is None. Also:
- backported rapptz/discord.py#621
- moved RPC handler unregister to remove_cog()
- raise an exception when a load would overwrite an existing extension
2018-08-08 10:26:14 +10:00
Toby Harradine aec3ad382a [CI] Re-enable and fix linkchecking for docs build (#1990) 2018-08-07 18:24:44 +10:00
lionirdeadman 9d4f9ef73c [General] UI improvements to [p]urban (#1871)
* Changed urban dictionary for my embed version

* Used black for formatting

* Fixed everything according to Tobotimus's review

* Fixed the description limit to 2048 characters

* Better fix adding "..." at the end if neccessary

* Add non-embed version

* Blackify
2018-08-07 16:33:39 +10:00
Caleb Johnson cf7cafc261 [sentry] use raven-aiohttp (#1967) 2018-08-04 15:44:58 +10:00
Kowlin e3bff7e87c Version bump v3.0.0b18 (#1959)
Administrative Merge: Solo beta release.
2018-07-25 06:15:36 +02:00
Michael H 4b19421075 [V3] use uvloop if available (#1935)
* use uvloop if available

* Update __main__.py

requested changes made
2018-07-25 05:55:55 +02:00
Michael H cf371e8093 fix invalidation (#1945) 2018-07-25 04:44:25 +02:00
Kowlin 5eeadc6399 Commented out the link checking (#1958) 2018-07-25 04:33:43 +02:00
Redjumpman f6823ea3d1 Update bank.py (#1937) 2018-07-25 02:57:25 +02:00
aikaterna f24290c423 [V3 Help] Exception for help when bot is blocked (#1955)
Fix for #1901.
Administrative merge: Travis CI failed due to docs issue, see #1957
2018-07-25 02:39:51 +02:00
Michael H f8a36885fe doc string corretion (#1944)
Administrative merge: Travis CI failed due to docs issue, see #1957
2018-07-25 02:33:17 +02:00
Kowlin a555eff2cc Fixed a bug with the JSON Driver (#1953)
Administrative merge: Travis CI failed due to docs issue, see #1957
2018-07-25 02:18:54 +02:00
Kowlin 05c389623c Removed warnings as errors argument (#1954) 2018-07-23 02:04:30 +02:00
Michael H bf00f5e9a2 [V3] tox match pinned version d.py (#1930) 2018-07-12 05:51:00 +02:00
aikaterna 7685c4d5d5 [V3] Bump version to 3.0.0b17 (#1929) 2018-07-12 04:21:38 +02:00
aikaterna e701ec9617 [V3 Audio] More aggressive empty disconnect (#1925) 2018-07-12 04:14:58 +02:00
Michael H 6c1ee096a1 [V3 permissions] command usage consistency (#1905)
* make the default rule settings consistent with the rest

* update docs to match new behavior
2018-07-12 04:09:28 +02:00
aikaterna 2df282222f [V3 Audio] Fix for playlist queue duplicates (#1890)
* [V3 Audio] Fix for playlist queue duplicates

And some sanitizing of playlist names.

* [V3 Audio] Playlist naming standardization

Enforced single-word playlist name across all playlist commands, removed A-Z 0-9 name standardization. [p]playlist delete will still accept playlist names with quotes as there should be a way to remove already-existing playlists with spaces in their name.

* [V3 Audio] Black formatting
2018-07-12 04:01:11 +02:00
El Laggron 43c7bd48c7 [V3 Mod] Fix wrong reason used for modlog (#1842) 2018-07-12 03:54:32 +02:00
aikaterna 86579068d9 [V3 Admin] Clean up help strings (#1906) 2018-07-12 03:49:37 +02:00
Michael H 8e6ab9aa35 [V3 reports] Display user discrim (#1913)
* [V3 reports] Display user discrim

* Update reports.py

minor change for clarity

* format pass
2018-07-12 03:38:07 +02:00
palmtree5 77566a887a [V3 Warnings] changes to the warnings cog (#1867)
* [V3 Warnings] clarify text on entering commands

* Fix up action commands and allow for no command on both add and remove

* Notify warned user when they receive a warning + disallow warning and unwarning self

* Add myself to COOWNERS for the warnings cog
2018-07-12 03:29:22 +02:00
Redjumpman 9d0eca1914 Update economy.py (#1898) 2018-07-12 03:22:29 +02:00
Michael H 79a3164d9d [V3] Mod/admin role logic corrections (#1914)
* [V3] Mod/admin role logic corrections

* Update mod.py

* Update mod.py
2018-07-12 03:17:44 +02:00
aikaterna eb73e48192 [V3 Audio] Respect voice channel permissions (#1878)
* [V3 Audio] Respect voice channel permissions

* [V3 Audio] Respect the user limit

* [V3 Audio] Exemption for channels with no limit
2018-07-12 03:11:51 +02:00
Eslyium cd6af7f185 [V3 Streams] Rewording Responses/Docstrings (#1837)
* [V3 Streams] Rewording Responses/Docstrings

w/ Black if I did this right

* Readding strings
2018-07-12 03:07:15 +02:00
Michael H 3d6020b9cf [V3/permissions] Performance improvements (#1885)
* basic caching layer

* bit more work, now with an upper size to the cache

* cache fix

* smarter cache invalidation

* One more cache case

* Put in a bare skeleton of something else still needed

* more logic handling improvements

* more work, still not finished

* mass-resolve is done in theory, but needs testing

* small bugfixin + comments

* add note about before/after hooks

* LRU-dict fix

* when making comments about optimizations, provide historical context

* fmt pass
2018-07-12 02:56:08 +02:00
Michael H 461f03aac0 [V3 Context] Aliasing Colour to color (#1916)
* [V3 Context] Aliasing Colour to color

We should stay consistent here and keep the aliasing from upstream, even when we extend this.

* fmt pass
2018-07-12 02:50:59 +02:00
Michael H 35149f8837 [V3] DM usage fixes (#1919)
* DM usage fixes

* ...

* ...

* ...

* ok, formatting...
2018-07-12 02:46:14 +02:00
Toby Harradine c0d01f32a6 [V3] Use our own checks instead of discord.py's (#1861)
* [V3] Use our own checks instead of discord.py's

* Remove bot.has_permissions checks too
2018-07-12 02:33:39 +02:00
Toby Harradine 83a0459b6a [V3] Remove all mentions of Python 3.5 (#1896)
We don't speak of him any more.
2018-07-12 02:23:18 +02:00
Toby Harradine 50f6dcef2f [V3] Stop tmp dir showing up (#1895) 2018-07-12 02:17:54 +02:00
Eslyium 5c514fd663 [V3 Reports] Rewording Responses/Docstrings (#1860)
* [v3 Reports] Rewording Responses/Docstrings

* Add the old name for [p]reportset toggle as alias

Also made some lines a bit shorter

* A few more

* Fix typo

* Clarity in [p]report docstring
2018-07-12 02:02:41 +02:00
Michael H 1c2196f78f autohelp changes. (#1836) 2018-07-12 01:23:18 +02:00
Michael H 43cc3c40f3 [V3] use configured color in all places (#1918)
* use configured color

* help formatter too
2018-07-12 00:50:46 +02:00
Michael H 7a6a4cf59d typo fix (#1917) 2018-07-08 22:18:53 +02:00
Michael H 3bcf375204 [V3] Fix duplicate help on ignore (#1862) 2018-06-25 22:00:56 +10:00
Michael H a175bdc1c7 [V3 Cleanup] Fix cleaning up too many messages (#1864)
Resolves #1863
2018-06-25 21:45:43 +10:00
El Laggron b557b437a3 [V3] More badges in README (#1879)
* [V3 README] More badges

* Fixed destination
2018-06-25 21:38:32 +10:00
Michael H d1f0b59b5d [V3] Verify checks for command groups (#1882) 2018-06-25 21:33:36 +10:00
aikaterna 3ece3a1f2b [V3 Audio] Fix for not saving via playlist create (#1889) 2018-06-25 21:20:28 +10:00
aikaterna 1f1a85de18 [V3 Audio] Add checking for valid file on upload (#1891) 2018-06-25 20:32:46 +10:00
aikaterna e08c9dafa6 [V3 Economy] Payday leaderboard clarification (#1892)
When [p]payday is used with a global bank, the number place shown on the message is relative to the global leaderboard. Since [p]leaderboard shows the server leaderboard by default, this can be confusing on a global bank as payday will most likely report a different place number than the user's server leaderboard does.
2018-06-25 20:17:44 +10:00
El Laggron ad27607ccc [V3] --token and --no-instance flags (#1872)
* Ability to run Red with token without instance

* --no-instance flag

* Reformatted cli with black

* Fix changes requested by @Tobotimus

- Use "system reboot" to be clearer
- save_default_config renamed to create_temp_config
- More documentation for the create_temp_config function

* Update create_temp_config call

* Fix up imports
2018-06-25 19:25:23 +10:00
El Laggron c1bcca4432 [V3 Downloader] Allow use of prefix in install message (#1869)
* [V3 Downloader] Allow to use the prefix in install msg

* Update docs

* Let's do the same for repo addition

* Fix indent

* Use replace instead of format

* Update docs
2018-06-25 12:42:47 +10:00
El Laggron 9f2ed694ce [V3 Launcher] Show version in main menu (#1810)
* [V3 Launcher] Show version in main menu

* Fix syntax

* Fix typo

* Make text underlined

* Show if red is outdated
2018-06-23 12:50:34 +10:00
Will edadd8f2fd [V3 Config] Fix for unnecessary writes on context mgr exit (#1859)
* Fix for #1857

* And copy it so we don't have mutability issues

* Add a test
2018-06-23 12:15:22 +10:00
Will afa08713e0 [V3] Make pytest fixtures available as a plugin (#1858)
* Move all fixtures to pytest plugin folder

* Add core dunder all

* Update other dunder all's

* Black reformat
2018-06-23 11:33:06 +10:00
Michael H d23620727e [V3 Mod] Userinfo past nicks/names (#1865)
* [V3 Mod] Userinfo past nicks/names

Prevents trying to do a string replace on a NoneType

* address root cause as well

* remove extra whitespace that got pasted in from web editor
2018-06-20 19:49:01 +02:00
Redjumpman b456c6ad3b [V3 Config] Fixed set_raw example in docstring (#1876)
fixed doc string
2018-06-20 11:27:36 +10:00
Tobotimus 0298b53803 [V3 JSON] Drivers deepcopy input/output data (#1855)
* [V3 JSON] Return deepcopy in JSON driver

* Add a test

* foo not bar

* Add a test for setting and then mutating

* Resolve issue for setting and mutating as well

* Reformat
2018-06-11 12:31:01 -04:00
Michael H bfd6e4af3f [V3 Report] Remove outdated reference to tunnel.close() (#1856) 2018-06-11 22:16:41 +10:00
Michael H 31612aae4a [V3 Mod] Fix [p]modset used without a subcommand (#1854) 2018-06-11 22:02:29 +10:00
palmtree5 219367e7c1 Bump version to 3.0.0b16 (#1804) 2018-06-10 15:07:57 -08:00
Will 7b64f10fc7 [V3] Pin discord.py for beta 16 release (#1848)
* Update main requirements

* Update docs requirements

* Black reformat after version update

* Pin dpy  in docs
2018-06-10 19:01:58 -04:00
Twentysix 1ad1744054 [V3 General] Fix online user count in [p]serverinfo (#1844)
* [General] Fix online user count in [p]serverinfo

* [General] Attempt to please the black gods
2018-06-10 23:25:54 +10:00
palmtree5 7b825f2cd7 [V3] Add some tests (#1590)
* Add some tests related to economy

* Add a test for repo removal

* black style formatting
2018-06-09 22:00:21 -04:00
aikaterna 3759fce090 [V3 Audio] Empty channel disconnect setting (#1832)
* [V3 Audio] Empty channel disconnect setting

* [V3 Audio] Small fixes

* [V3 Audio] Remove unused variable

* [V3 Audio] Timer task
2018-06-09 21:55:28 -04:00
Will 470521f7c8 [V3 DataConverter] Fix past nicks conversion for mod (#1840)
* Fix existing tests permanently modifying attributes

* Add dataconverter tests file

* Fix past nicks spec converter

* Update gitignore for dataconverter data files

* Add data file for dataconverter test

* Simplify fix
2018-06-09 20:27:06 -04:00
Tobotimus a070dffb93 [V3 Streams] Fix streams race condition (#1834) 2018-06-10 00:12:58 +10:00
Will 9e7bc94aab Catch another error on windows compiler failure (#1830) 2018-06-09 03:48:03 +02:00
Tobotimus 033d0113a5 [V3] Send meaningful responses on conversion failure (#1817)
* [V3] Send meaningful responses on conversion failures

* Replace existing `discord.ext.commands` imports

Just to be sure

* Better Permissions converter response
2018-06-08 21:20:40 -04:00
Tobotimus d0a53ed2df [V3 Core] Fix backup error (#1820) 2018-06-08 21:12:16 -04:00
Michael H 49b80e9fe3 [V3 Report] Patch issue with attachment grabbing (#1822)
* This fixes the issue on report's side

* This prevents delete_delay from causing future issues where message objects are needed

* black format pass

* use the tools we have to clean this logic up a lot
2018-06-08 21:08:00 -04:00
Michael H d5f5ddbec5 [V3 Help] Fix formatter field pagination (#1813)
* fix prefix

* help formatter pagination fix

* index comp fix
2018-06-08 21:02:28 -04:00
Michael H 17c7dd658d [V3 Core] Command group automatic help (#1790)
* decorator inheritence

* black format

* add autohelp

* modify commands to use autohelp
2018-06-08 20:54:36 -04:00
Will ca19ecaefc [V3 Downloader] Add a requirements list to cog info (#1827) 2018-06-08 20:48:46 -04:00
Tobotimus c149f00f82 [V3 Menu] Don't block on adding reactions (#1808)
* [V3 Menu] Don't block on adding reactions

* Add a comment
2018-06-08 20:43:42 -04:00
Will b041d59fc7 [V3 Downloader] Make hidden hidden and add disabled (#1828)
* Make hidden hidden and add disabled

* Add documentation
2018-06-08 20:39:07 -04:00
Will b983d5904b [V3 RPC] Swap back to initial RPC library and hook into core commands (#1780)
* Switch RPC libs for websockets support

* Implement RPC handling for core

* Black reformat

* Fix docs for build on travis

* Modify RPC to use a Cog base class

* Refactor rpc server reference as global

* Handle cogbase unload method

* Add an init call to handle mutable base attributes

* Move RPC server reference back to the bot object

* Remove unused import

* Add tests for rpc method add/removal

* Add tests for rpc method add/removal and cog base unloading

* Add one more test

* Black reformat

* Add RPC mixin...fix MRO

* Correct internal rpc method names

* Add rpc test html file for debugging/example purposes

* Add documentation

* Add get_method_info

* Update docs with an example RPC call specifying parameter formatting

* Make rpc methods UPPER

* Black reformat

* Fix doc example

* Modify this to match new method naming convention

* Add more tests
2018-06-08 20:31:38 -04:00
Michael H 8b15053dd4 [V3 Mod/Modlog] prevent self-casing the bot + feedback for heirarchy (#1777)
* prevent the bot from being a modlog target

* prevent heirarchy issues in mod

* modify this comparison to avoid more complex mocking of the guild object in mod test

* spelling
2018-06-08 20:27:07 -04:00
Tobotimus e15815cd97 [V3 Downloader] Don't do 3rd party agreement without command args (#1821) 2018-06-08 20:18:51 -04:00
palmtree5 94a64d8fae [V3 Downloader] Split available and installed cogs (#1826) 2018-06-08 19:58:20 -04:00
Michael H fd7088de1a [V3 Help formatter] Better name-as-prefix handling (#1823)
* prefix handling

* actually, integration role isn't a valid way
2018-06-08 11:11:44 -04:00
Will 7d4946560d [V3] Fix typo in load (#1814) 2018-06-08 10:56:03 -04:00
Michael H b7c9647e1a [V3] Fix dm help set (#1806) 2018-06-07 01:23:26 -04:00
Will 36b9f64aae [V3 Alias] Fix missing await (#1805) 2018-06-07 14:53:12 +10:00
Eslyium 60a72b2ba4 [V3] Cleanup quotes in cogs (#1782)
* Cleanup quotes in cogs

* More quote cleanup that I missed

fixed a little bit of grammar here and there as well.

* [V3 Warnings] Change allowcustomreasons docstring

To help not confuse users who would believe that the command would use allow or disallow.

* Run black reformat
2018-06-07 00:42:59 -04:00
jjay12365 f830f73ae6 [V3 Streams] Fixed issue with making YT Stream Embed (#1812)
fixed error not allowing bot to make yt stream embed
2018-06-06 14:57:25 -04:00
Michael H 95f51e1126 [V3] Add missing await for [p]set prefix (#1809) 2018-06-06 17:08:33 +10:00
Michael H 8916f55d52 [V3] permissions canrun fix (#1787)
* permissions canrun fix

* Missing await

* async gen
2018-06-05 12:33:45 -08:00
Michael H 4aaef9558a [V3 Core] local whitelist/blacklist (#1776)
* implements local whitelist/blacklist which had unused bot.db settings

This includes a role listing

* format pass

* Update core_commands.py

* .

* black format pass
2018-06-05 12:19:44 -08:00
palmtree5 0b78664792 [V3 Fuzzy search] fix several issues with this feature (#1788)
* [V3 Fuzzy search] fix several issues with this feature

* Make it check if parent commands are hidden

* Check if compiler available in setup.py

* Let's just compile a dummy C file to check compiler availability

* Add a missing import + remove unneeded code
2018-06-05 22:14:11 +02:00
Michael H db5d4d5158 [V3 launcher] token can be an empty string (#1794)
* token can be an empty string

* I like this sytlistically more
2018-06-05 11:59:42 -08:00
Tobotimus 0dfd8b6453 [V3 Docs] Add intersphinx link to discord.ext.commands api reference (#1764) 2018-06-03 17:32:25 -08:00
rngesus-wept 11a2fb1088 [V3 Core] Fix display of whitelist and blacklist members (#1789) 2018-06-03 21:41:36 +10:00
Michael H 40feeff442 [V3 core.commands] decorator inheritence fix (#1786)
* decorator inheritence

* black format
2018-06-02 18:34:30 -08:00
Michael H a0a2976e0a [V3] Fixes issue preventing token reset from setup (#1771)
* fixes issue preventing token reset.

Also removes a faulty assumption about not needing cleanup tasks

* Update __main__.py

remove unneeded condition
2018-06-02 18:43:26 -04:00
Michael H 741f3cbdcc [V3 CLI] CLI prefix args correctly display in the on_ready print (#1770) 2018-06-02 18:36:13 -04:00
Michael H a6965c4b5a [V3] Hide help command from help (#1772) 2018-06-02 18:29:16 -04:00
Tobotimus 19b05e632c [V3] Use typing.TYPE_CHECKING instead of utils.TYPE_CHECKING (#1778)
Not needed any more as we no longer support python<3.6
2018-06-02 18:24:16 -04:00
Michael H 8610b47a68 [V3 Admin] Announce ignore parameter modification (#1781) 2018-06-02 18:20:01 -04:00
aikaterna 2ab8890540 [V3 Audio] Check for empty queue in [p]skip (#1769)
Privileged users outside of the channel could invoke skip with an empty queue.
2018-06-02 18:15:10 -04:00
Michael H 5de5a519c3 [V3 Permissions] Don't rely on load order to be consistent (#1760)
* Modifies permissions re #1758

* requested changes in
2018-06-02 18:10:40 -04:00
Tobotimus 0d193d3e9e [V3] Make bot send typing whilst loading cogs (#1756)
* Show bot is responsive during cog load

* Log download of Lavalink.jar event

* Fix #1709's other bug

* Reformat

* Update core_commands.py from merge
2018-06-02 18:06:10 -04:00
Tobotimus 622382f425 [V3] Clean up some ugly auto-formatted strings (#1753)
* [V3] Cleanup some ugly auto-formatted strings

* Reformat
2018-06-02 18:01:14 -04:00
Tobotimus c1f09326cc [V3] Use sys.exit() over exit() (#1755) 2018-06-02 17:56:28 -04:00
Tobotimus ddbbba4aaa [V3] Ignore .idea/ directory entirely (#1754)
* [V3] Ignore .idea folder entirely

Since we're not including anything from it currently, so there's no reason not to ignore it.

* Ignore IDEA project files
2018-06-02 11:55:34 +10:00
Tobotimus bcf7ea30c5 [V3 Core] Add a much-needed forward reference (#1763) 2018-06-02 11:20:06 +10:00
Will 35e9fab701 [V3 Admin] Add notes about case sensitivity for selfrole (#1762) 2018-06-02 11:01:08 +10:00
Will 864b6d313e [V3 Core Commands] Refactor some commands for testing/RPC (#1691)
* Extract load/unload/reload

* Add a few more commands

* Refactor load/unload signature

* Add invite URL and version info

* Black fixes

* Split the incoming cog names in reload correctly

* Reformat

* Remove meta.bot
2018-06-02 10:49:59 +10:00
aikaterna d47d12e961 [V3 Audio] Restrict check for reactions on [p]now (#1752) 2018-06-02 02:44:30 +02:00
Michael H 9f0e752318 [V3 Core] Fix error on [p]set command when used in DM (#1748)
* issue #1741 fix

* requested changes
2018-06-02 09:26:12 +10:00
palmtree5 34bd5ead15 [V3] Drop 3.5 support (#1721) 2018-06-01 19:20:21 -04:00
Redjumpman 1fd5dffdc7 [V3/Misc] Spelling, Grammar, and doc string fixes. (#1747)
* Update streams.py

* Update filter.py

* Update permissions.py

* Update customcom.py

* Update image.py

* Update trivia.py

* Update warnings.py
2018-06-01 19:20:12 +10:00
Michael H 6d7a900bbb [V3] Use Embed.Empty for unset embed colour (#1750) 2018-05-31 14:31:44 +10:00
Tobotimus fb4f921159 [V3 Docs] Pin RTD yarl version (#1744) 2018-05-29 18:42:30 -08:00
Tobotimus 14cc701b25 [V3] Update black version and reformat (#1745)
* Update black version and reformat

* Pin black in extras_require
2018-05-29 18:37:00 -08:00
Tobotimus d8c4113d24 Remove 3.5 from tox environments (#1740) 2018-05-30 02:18:12 +02:00
Michael H 9eb6bb7738 [V3 permissions] more docs + minor addition. (#1737)
* more info

* docstring
2018-05-28 12:02:42 -08:00
Michael H de96f8b9f9 Fixed Readme (#1730)
* twine

* twine

* twine

* twine
2018-05-28 19:03:50 +02:00
palmtree5 e34975001c [V3] Bump version to 3.0.0b15 (#1720) 2018-05-27 21:48:05 -08:00
Michael H f3b282062b get channels (#1729) 2018-05-27 21:42:47 -08:00
Michael H 84732a24fa [V3] Drop verbose output on check failure (#1725) 2018-05-27 21:27:44 -08:00
Michael H dad775b494 [V3 Context] use bot's color if it has one (Ux Consistency with help formatter) (#1706)
* use bot's color if it has one

* add bot color support to context

* alias color to colour too to match d.py consistency

* Update context.py

* Update context.py

* black fix
2018-05-27 21:23:03 -08:00
palmtree5 05ad3fcd5c [V3 Modlog] add events for modlog cases (#1717)
* Give modlog case objects the bot as an attribute

* Dispatch modlog_case_create and modlog_case_edit events

* case.bot, not just bot

* fix a couple more issues resulting from refactor

* Case.edit doesn't need the bot parameter lol

* Make create_case return the case object (because tests)

* Modify create_case docstring

* Fix a docstring
2018-05-27 21:18:50 -08:00
Redjumpman 6ae02d2d02 [V3/Readme] Update V3 Readme (#1703)
* Update and rename README.rst to README.MD

* Update and rename README.MD to README.rst

Changed the file type back to rst from MD

* Update README.rst

Changed image size.

* Update README.rst

Changed the cogs.red link to point at issue 1398 until the portal displays V3 cogs.

* Update README.rst

Changed image host to imgur
2018-05-27 21:14:24 -08:00
Michael H 757a3114dc [V3] rpc close removed (#1726) 2018-05-27 21:06:13 -08:00
palmtree5 94b9878c6c [V3 Downloader] add repo info command + add short descriptions in repo list (#1701) 2018-05-28 07:01:54 +02:00
palmtree5 7775b16199 [V3] Optimize the backup command (#1666)
* [V3 Core] Enhance [p]backup to exclude some files

* Backup the repo list too

* Lol Sinbad's pre-commit hook

* Add option of sending the backup to the owner via DM

* Drop an unnecessary config object in RepoManager

* Move the backup functionality in redbot-setup to the new stuff

* More work on implementation, including backing up the instance data
2018-05-28 06:56:28 +02:00
palmtree5 f01d48f9ae [V3 Docs] allow [p]shutdown to actually shut the bot down (#1668) 2018-05-28 06:51:31 +02:00
palmtree5 179883094e [V3 Context] make send_help respect embed setting (#1723) 2018-05-28 06:37:58 +02:00
palmtree5 971ccf9df4 [V3 Core] add support for setting a color for embeds (#1707)
* [V3 Core] add support for setting a color for embeds

* Add a guild toggle for whether to use the bot color

* Add a function for getting embed color in Context

* Coroutines need to be awaited lol
2018-05-28 06:28:22 +02:00
Michael H 07eb6bf88e Reverted Ping back to its original state (#1712) 2018-05-28 06:17:02 +02:00
palmtree5 5afd8174ca [V3 Launcher] update cli flag getter (#1696)
* [V3 Launcher] make some updates to the cli flag selector

* Add the --mentionable flag
2018-05-28 06:06:59 +02:00
aikaterna f1fea38712 [V3 Mod] Unmute server does not need channel (#1695) 2018-05-28 05:36:44 +02:00
El Laggron f275c6e5e7 [V3 Launcher] Fixed issue with update choice (#1649)
*  [V3 Launcher] Fixed issue with update choice

extras_selectors() was run even if what the user did input for the development choice (stable/dev) was wrong

* [V3 Launcher] Option to go back when updating

* [V3 Launcher] Fixed coding style
2018-05-28 05:30:35 +02:00
palmtree5 5ec25959df [V3 Help] add tagline support (#1705)
* [V3 Help] add tagline support

* Make the tagline resettable

* Actually, let's allow the user full control over the footer
2018-05-28 05:25:18 +02:00
palmtree5 4f270f3aab [V3] Start work on fuzzy command search (#1600)
* [V3] Start work on fuzzy command search

* Implement in command error handler

* Something isn't working here, try fixing

* Style compliance

* Add fuzzywuzzy to pipfile

* Dump the short doc part if there is no short doc

* Add fuzzy command search on command not found in help

* Move things around, implement for use of default d.py help formatter

* Formatting compliance

* Undo pipfile changes
2018-05-28 04:57:10 +02:00
bobloy 4028dd3009 [V3 Downloader] Pagify cog list and typing fix (#1662)
* Cog list is now pagified

* Proper typing of Tuple

* Black formatting

* More Black formatting
2018-05-28 03:55:33 +02:00
Tobotimus 706b04610d [V3] Implement --dry-run flag (#1648) 2018-05-28 03:46:06 +02:00
Michael H 014e3baea0 pagification (#1722) 2018-05-28 03:35:57 +02:00
Michael H 92ca7c935a Docstring fix (#1724) 2018-05-28 03:30:58 +02:00
palmtree5 5c9b1c9a3d Move [p]userinfo to Mod + refactor [p]names (#1719) 2018-05-28 03:23:24 +02:00
Tobotimus 5ebee60c97 Rejoice for a 3.5-less Travis (#1713) 2018-05-28 03:18:23 +02:00
Tobotimus 3337a9cbab [V3 Launcher] Fix error when removing Mongo instance (#1710)
* [V3 Launcher] Fix error when removing Mongo instance

Fixes #1573

* Fix issue causing style check to fail

* Remove unneeded whitespace
2018-05-27 16:08:25 -08:00
Michael H 54975eb812 [V3] Permissions (#1548)
* This starts setting up checks.py to handle managed permission overrides

* A decent starting point, more work to come

* missing else fix

* more work on this

* reduce redundant code

* More work on this...

* more progress

* add a debug flag to some things in .resolvers to help with exploring why checks behave in a certain way

* modify this to be a list for ease of showing full resolution order

* more

* don't bypass is_owner, ever

* remove old logic about ownercommands

* better handling of chec validity

* anonymous functions return None for __module__, remove some code as a result

* mutable default bind fix

* Add a caching layer (to be invalidated as needed)

Ensure checks in the chain inserted before the core logic only return None or False
(whitelists then blacklists are checked first in core logic, from most to least specific scope, overriding this with an allow does not make sense)

* more progress, slow work as I have time

* Modifies the predicates so that their inner functions are accesible from cogs without
being a check

* Update checks.py

Safety for existing permissions.py cogs

* This is where I take a change of course on setting this up,
because this would have been the most long winded interactive command ever as
it was starting to progress.

This is going to support individual entry updates, settings from yaml, gettings, and clearing existing settings
as well as printing a settings template out and referring people to what is going to be very well written docs

* block permissions cog from being unblocked by the permissions cog as a safety feature (really, co-owner exists at this point)

* WIP

* Okay, this has the intent of the changes, just to actually test these as working as intended + add corresponding guild functions

* oh nice, missed a couple files, sec...

* WIP, also, something's broken in resolvers or check_overrides >>

* This is working now (still needs docs and more...)

* unmerge changes from other PR

* is_owner still needs to exist in here due to management of non checked commands

* Update this to new style standards

* forgot to commit some local changes earlier

* fix update logic

* fix update logic

* b14 fix, lol

* fix issue with management command name

* this isnt a real fix

* Ok..

* perms

* This is working, but needs docs and more configuration opts now

* more

* Ux functions, need testing

* style

* fix using the obj str rather than the id

* fix CogOrCommand converter

* Return the correct things in the converter

* last fix, needs docs, and possibly some extra Ux utils

* start doc writing

* extra user facing commands

* yaml docs

* yaml fix

* secondary checks-fix

* 3rd party check stuff

* remove warning that this isn't ready yet

* swap ctx.tick for real responses, require emoji perms for interactive menuing, better attr handling for nicknames

* send file to author

* alias to `p`

* more ctx tick removal

(This is a long ass changelog...)
2018-05-28 00:17:17 +02:00
rngesus-wept 537531803a [V3 Admin] Correct spelling of 'hierarchy' (#1714) 2018-05-27 12:25:26 -08:00
Tobotimus f4b640126b [V3 Warnings] Fix warn command when no valid reason is passed (#1672)
Resolves #1670
2018-05-27 12:15:56 -08:00
El Laggron 1de3251127 [V3 Docs] Reference 3.6 docs (#1715) 2018-05-27 12:05:35 -08:00
palmtree5 7e98076e4a [V3 Docs] expand info.json docs (#1699) 2018-05-25 12:38:32 +02:00
palmtree5 c58c55b752 [V3 Docs] Move the install docs to install Python 3.6 (#1685)
* [V3 Docs] drop ffmpeg from CentOS install guide

* [V3 Install Docs] move all to Python 3.6

* Update the toctree

* Needed a blank line

* drop a .6 that wasn't needed
2018-05-24 11:09:08 -08:00
Michael H 928be5717f [V3 Checks] Respect administrator and guildowner permissions (#1711)
* respect admin and guildowner (implicitly) in checks for permissions

* this needed it too
2018-05-25 01:17:21 +10:00
Redjumpman ccbaa926ce [V3 Economy] fix erroneous message when transferring with insufficient funds (#1698)
Fixed an erroneous message when transferring credits while having insufficient funds.
2018-05-23 11:45:23 -08:00
Tobotimus d1208d7d19 [V3] Update CONTRIBUTING.md with details on new dev workflow (#1659)
* Update CONTRIBUTING.md with details on new dev workflow

* Fix typos

* Update link in README.rst

* tiny grammar fix

* Specify the line length

* Update CONTRIBUTING.md

* Fix links in contents

* Add section for keeping dependencies up-to-date

* Include notes about Makefile
2018-05-23 15:26:54 +10:00
Tobotimus 099fe59a97 [V3 Core] Add [p]helpset (#1694)
* Add settings and commands for page and character limits

* Add missing returns

* Consistent responses
2018-05-22 21:04:53 -08:00
Will 889acaec82 [V3 Downloader] Fix #1671 (#1692) 2018-05-22 20:54:00 -04:00
palmtree5 c42e9d4c5c Add a makefile for helping with style checking and reformatting (#1665)
* Add a makefile

* Add make.bat

* Slightly modify Palm's makefile

* Use make in tox

* Minimise diff and refactor PATHEXT

* Fix a typo in make.bat
2018-05-22 20:44:11 -04:00
Will 4378e5295d [V3 Downloader] Fix #1594 (#1693) 2018-05-22 20:37:34 -04:00
Will 73a427f6aa [V3 RPC] Initial RPC library switch (#1634)
* Initial RPC library switch

* Use weak refs to the methods so cog unload works

* Add docs

* Black fixes

* Add jsonrpcserver to Pipfile.lock
2018-05-22 16:29:26 -08:00
aikaterna abfee70eb3 [V3 Audio] Only allow audio commands in servers (#1682)
* [V3 Audio] Only allow audio commands in servers

Fixes #1681

* [V3 Audio] Formatting fix
2018-05-22 19:39:01 -04:00
Michael H 77cdbf8dd6 [V3 Alias] Add checks to alias add/del (#1676) 2018-05-22 19:27:11 -04:00
aikaterna 28bc68c916 [V3 Audio] [p]llsetup fixes (#1656)
* [V3 Audio] [p]llsetup fixes

[p]llset wsport changed to not use the rest port setting and both the rest and ws ports were changed to use ints instead of strings.

* [V3 Audio] Version change
2018-05-22 19:19:47 -04:00
Will ecb64cc2ec [V3] Add deprecation warning for Python 3.5 (#1684)
* Add deprecation warning for python 3.5

* Use colorama

* Modify background color

* Just print to stdout
2018-05-20 20:56:50 -08:00
bobloy 23706a1ba9 [V3 Tests] Fix downloader test failing on Windows (#1673)
* ignore idea

* windows option

* Remove personal setting

* proper undo

* Requested changes

```
("repos", "squid") == pathlib.Path('TEST\\\\TEST2\\\\repos\\\\squid').parts[-2:]
True
("repos", "squid") == pathlib.Path('test/test2/test3/test4/repos/squid').parts[-2:]
True
```

* Needs to remove newline too

Resolves #1663
2018-05-19 12:11:41 +10:00
Michael H d3f406a34a [V3 Travis] Update travis to not skip pipfile lock... (#1678)
* Update travis to not sip pipfile lock

update pipfile dependencies

additional black formatting pass to conform to black 18.5b

* .

* pin async timeout until further discussion of 3.5 support

* .
2018-05-18 17:48:22 -08:00
bobloy 55afc7eb33 [V3 Downloader] Handle errors when importing modules (#1655)
* Handle errors when importing modules

* Do nothing with error

* Updated to black formatter standards

* More Black formatting
2018-05-17 13:42:41 -04:00
Tobotimus 7a70d12efd [V3] Add tox (#1641)
* Configure tox environments for install, dev install and docs build

* Configure Travis to run tox

* Use 3.5.1 since it's our minimum supported version

* Bump lower travis build version to 3.5.2

Turns out a dependency is incompatible with 3.5.1.

* Modify Travis config to install from pipenv

* Try without skipping the lock

* Try without pip cache

* D the dev install with pipenv

* See if adding the pip cache back in breaks

* Remove the development installation

It doesn't really make any sense considering we already should be installed in develop mode, as does Travis.

* Oops, tox should go under dev packages

* Do black --check with tox

* Uncache pip again...

* Try a build matrix, and try ignoring virtualenvs

* Activate pipenv shell on travis

* Try installing prereleases

* Try the build matrix like this

* Try exclusion

* Upgrade pip

* Try this environment marker

* Back to stages...

* Try run over shell

* Try skipping the lock again

* This'll be faster but probably ignore 3.5

Because Travis

* Just manually list sources for black to check

* Magic?

* What if I told you...

That this worked perfectly on Tobotimus/Red-DiscordBot@test_travis_matrix

* It couldn't possibly be this easy

* Let's add some comments to be nice

* Let's change back to trusty just in case the stages fuck up

* Add another comment because why not

* Let's try caching pip one more time

* We don't need to whitelist these
2018-05-15 13:10:14 +10:00
palmtree5 1ecaf6f8d5 Black formatting for generate_strings.py and docs/conf.py (#1658)
* Black formatting for generate_strings.py

* Also add docs/conf.py
2018-05-15 09:27:06 +10:00
Will e01cdbb091 Black tests and setup.py (#1657) 2018-05-15 09:09:54 +10:00
Michael H b88b5a2601 [V3] Update code standards (black code format pass) (#1650)
* ran black: code formatter against `redbot/` with `-l 99`

* badge
2018-05-14 15:33:24 -04:00
Michael H e7476edd68 [V3] fix help on missing cog and command docstrings (#1645)
* [V3] fix help on missing cog docstrings

* I think this is what you're looking for

* Also do a NoneType check for commands
2018-05-14 20:13:12 +10:00
Will cbbeb412f9 [V3 Docs] Fix makefile and add dpy back in to the requirements (#1646) 2018-05-14 15:30:42 +10:00
Will f544890f00 [V3 Docs] Modify RTD config to (hopefully) make it build (#1644)
* Fix docs requirements

* Modify RTD config
2018-05-14 15:03:43 +10:00
Will 72560fa6d0 [V3] Add pipenv files (#1642)
* Add pipenv files

* Pipfile updates

* Update sphinx version
2018-05-14 14:20:20 +10:00
Tobotimus 4637ff78c0 [V3 Docs] Remove all build warnings (#1640)
* Upgrade sphinx version to 1.7+

* Fix title overlines/underlines in autostart_systemd.rst

* Skip trying to document a method from discord.py

* Add escaped space after backtick

* Escape underscores (sphinx tries to interpret a hyperlink)

* Use fully qualified reference for class

* Fix reference in tunnel.py

* Remove python syntax highlighting in data_converter.py

For some reason sphinx couldn't lex these as python. Removing the highlighting seems like the logical solution for now, since if it wasn't being lexed, it wouldn't highlight anyway.

* Comment out static path since we're not using it right now

* Update sphinx version in docs requirements too

Would rather remove this duplication but RTD is a special snowflake
2018-05-13 20:06:52 -08:00
palmtree5 501aff41ea [V3] Bump version to 3.0.0b14 (#1629) 2018-05-13 16:24:40 -08:00
Michael H 449b1bfe9e Make checks.py manageable from a permissions cog (#1547)
* This starts setting up checks.py to handle managed permission overrides

* missing else fix

* don't bypass is_owner, ever

* Modifies the predicates so that their inner functions are accesible from cogs without
being a check

* Update checks.py

Safety for existing permissions.py cogs

* block permissions cog from being unblocked by the permissions cog as a safety feature (really, co-owner exists at this point)

* un mix the 2 PRs (*sigh*)

* Update checks.py

remove debug prints that got lost inshuffle
2018-05-14 10:13:16 +10:00
aikaterna 4a8358ecb4 [V3 Audio] Update queue and search to use menus (#1633)
* [V3 Audio] Update queue and search to use menus

* [V3 Audio] Fix for playlist upload saving

* [V3 Audio] Add position in queue to enqueued songs

Also a bit of cleanup.

* [V3 Audio] Improvements for mobile formatting
2018-05-14 10:01:46 +10:00
Tobotimus 8f74e4dd31 [V3 Cleanup] Cleanup commands clean up after themselves (#1602)
Resolves #1572
2018-05-13 15:51:50 -08:00
Michael H 2b35d9f012 [V3 cleanup] Respect pinned messages by default (#1596)
* This sets the default behavior for `get_messages_for_deletetion()` to not include pinned messages, while providing a way to override that

resolves #1589

* actually make commands parse for pinned deletion

* fix capitalization
2018-05-13 15:49:45 -08:00
palmtree5 35001107e0 [V3 Streams] cache stream alert messages across restarts (#1630)
* [V3 Streams] cache stream alert messages across restarts

* Add some stuff to debug this

* More debug stuff

* More debug stuff

* Actually save when updating a stream alert

* Remove debug stuff

Fixes #1620
2018-05-14 09:42:28 +10:00
Leo Garcia a7d7b90ae8 [V3] Removed py 3.6 warning for Windows (#1622)
I believe we've fixed this awhile ago.
2018-05-14 09:32:41 +10:00
Tobotimus 119ba7ef8b [V3 ModLog] Fix [p]reason when the modlog case has no moderator (#1604) 2018-05-14 09:24:17 +10:00
palmtree5 28bbe9c646 [V3 i18n] add a NoneType check on trying to normalize a string (#1632)
Fixes #1631
2018-05-14 09:10:38 +10:00
Michael H 8739c04024 [V3] Ping changes (#1618)
* moves ping to core commands
defaults ping behavior to reacting with a ping pong paddle with ball
adds an optional boolean flag to ping to get the avg latency from the bot
(strikes a middle ground with intended behavior from dev standpoint, and how users want it)

* casing for @Kowlin

* use correct check for permissions

* remove latency
2018-05-13 15:03:17 -08:00
Tobotimus 57240d25b9 [V3] Update trivia version and allow installing in develop mode (#1635)
* [V3 Trivia] Update trivia version to >1.1

* Use actually working trivia version
2018-05-13 13:43:16 -08:00
Tobotimus 15ea5440a3 [V3 i18n] Internationalise help for commands and cogs (#1143)
* Framework for internationalised command help

* Translator for class docstring of cog

* Remove references to old context module

* Use CogManagerUI as PoC

* Replace all references to RedContext

* Rename CogI18n object to avoid confusion

* Update docs

* Update i18n docs.

* Store translators in list instead of dict

* Change commands module to package, updated refs in cogs

* Updated docs and more references in cogs

* Resolve syntax error

* Update from merge
2018-05-12 01:47:49 +02:00
Michael H 1e60d1c265 [V3] adds a permissions check for embed_links in ctx.embed_requested (#1619) 2018-05-10 14:35:18 -08:00
Tobotimus b7cd097c43 [V3 Trivia] Lock trivia version to <1.1 (#1621) 2018-05-10 13:20:40 -08:00
bobloy 6c934b02e6 [V3] Fix help's help (#1606) 2018-05-10 13:14:44 -08:00
Kowlin fcb9b40b43 [V3] Fixed [p]servers bug (#1617)
* Fixed servers bug

* Added protections against going negative
2018-05-10 13:10:42 -08:00
Michael H 7a6884e4b1 [V3] Mark 3.7 as unsupported in setup.py (#1623) 2018-05-10 13:04:20 -08:00
Michael H e86698cfeb [V3] Update some user facing info (remove old, outdated info) (#1613)
* remove outdated link in favor of in docstring docsumentation

* Update default Downloader repo url to org repo url (don't rely on github redirect)
2018-05-08 22:27:38 +02:00
Bakersbakebread 53650aefa6 [Docs] Added self (#1608) 2018-05-08 19:47:11 +02:00
Tobotimus 1d80a0cad1 [V3 Mod] Fix issue with unmuting, again (#1603)
* [V3 Mod] Fix issue with unmuting, again

Resolves #1595

* Fix typo
2018-05-07 13:31:14 +02:00
retke f6d27a0f43 [V3 Parser] Added --load-cogs flag (#1601)
* [V3 Parser] Added --load-cogs flag

* Removed old PR data

* Removed old PR data

* Removed old PR data

* Slightly reword help for flag

* Stick to convention for checking if sequence is empty

* Fix some logic errors

* Don't print packages which failed to load
2018-05-07 15:01:44 +10:00
Wyn f71aa9dd21 [V3 Docs] Autostart (#1599)
Moved note to the top, added how to access red log.
2018-05-05 15:43:26 -08:00
palmtree5 1cb5394e96 [V3] bump version to 3.0.0b13 (#1583) 2018-05-04 08:48:33 +02:00
palmtree5 2b2dbd25f7 [V3 Help] fix issue with non-existent subcommands (#1565) 2018-05-03 22:19:24 -08:00
Michael H dd4cd0eeb1 provide an extra method for helping wor with embed_requested (#1558) 2018-05-04 08:16:24 +02:00
palmtree5 ee7b0cf730 [V3 Utils] fix files not being chmodded (#1578) 2018-05-04 08:10:56 +02:00
retke 95ef5d6348 [V3 Launcher] Reinstall Red option (#1536)
* [V3 Launcher] Reinstall Red option

* [V3 Setup] Divided remove_instance function

* Removing changes from another PR

* Indent fails fix

* use remove_instance_interaction for --delete

* Fix some issues with remove_instance

removed `index: int` because what's being passed there is a string
data -> instance_data

* bug fixes, working version
2018-05-04 08:01:37 +02:00
bobloy 23192b9ef6 simple_embed doesn't take author (#1555)
Simple embed doesn't use ctx.author as author
2018-05-04 07:27:44 +02:00
Michael H 7cd98c8a63 Report fixes + improvements (#1541)
* WIP

* fix perms issue

* better

* more work

* working

* working, tessted

* docs

* mutable default fix
2018-05-04 06:38:58 +02:00
palmtree5 fca7686701 [V3 Core] fix 3.5-specific issue with [p]backup (#1586) (#1588) 2018-05-04 06:18:44 +02:00
Michael H be767478f4 allow deletion based on user ID (actually this time) (#1561) 2018-05-04 06:15:27 +02:00
palmtree5 b3ad5d90ed [V3 Core] fix a couple issues with [p]servers (#1580) 2018-05-04 06:05:09 +02:00
palmtree5 fb093b7411 [V3 Utils] Menu system (#1566)
* [V3 Utils] start on a menu system

* Fix conflicting names

* [V3 Menus] change order of default controls

* [V3 Menus] add a message check to the react check

* Add a note about original source and who ported

* Compare message ids, not the objects themselves
2018-05-04 05:54:30 +02:00
palmtree5 e4ea3110e3 [V3 Warnings] fix several bugs found (#1577) 2018-05-04 05:46:59 +02:00
aikaterna 79676c4f72 Playlist additions and cleanup (#1579)
Add playlist append, create, remove, and upload.
2018-05-04 05:43:00 +02:00
Wyn d61827b92c [V3 Docs] Fixed broken link (#1567)
Guide migration went into a maze, this should fix it.
2018-05-04 05:33:01 +02:00
palmtree5 1f1f46c70f [V3] move to multiple issue/pr templates (#1585) 2018-05-04 03:58:30 +02:00
Wyn 9188e4a7ec [V3 Info] Don't rely on redirect (#1581)
* [V3 Info] Don't rely on redirect

Http -> Https

* Update core_commands.py

Use existing variable instead of new string

* Update events.py

Remove redirect, url only reference
2018-05-02 10:35:48 +02:00
Redjumpman e5a780eb0c Update mod.py (#1582)
Update doc-strings to properly format in the help text.
2018-05-01 09:13:25 +02:00
palmtree5 d8c85a2b15 [V3 Audio] fix zombie process on unload (#1575) 2018-04-29 08:19:49 +02:00
palmtree5 83080bc5a2 [V3 Mod] fix issue with unmuting (#1568) 2018-04-28 13:39:06 +10:00
Wyn 233bfc59ac [V3 Docs Arch] Upgrade dependencies (#1553)
-u parameter added to pacman for upgrading dependencies so we don't get partial upgrades.
2018-04-19 13:29:44 -08:00
Bakersbakebread c606caf3a3 Grammar Change With -> Will (#1539)
Any message successfully forward WILL be marked...
2018-04-18 12:28:12 +02:00
palmtree5 efdf69552f [V3] Beta 12 release (#1525)
* [V3] update translations from Crowdin

* [V3] bump version to 3.0.0b12
2018-04-16 19:05:21 -08:00
Michael H 38531bf95c [V3 Tunnel utils] Better handling of tunnel instances (#1538)
* Better handling of tunnel instances

* docs
2018-04-16 19:02:38 -08:00
Wyn 6d714db928 [V3 Audio] Add Lavalink Jar build to settings (#1430)
* [V3 Audio] Add Lavalink Jar build to settings

Added Lavalink Jar build to Lavalink settings since build number now stored in config.

* Forgot import

Added import

* Left align

K im done for real this time
2018-04-16 18:57:17 -08:00
Michael H f8e7497695 [V3] Remove old usage of type tuples with config (#1518) 2018-04-16 21:41:13 -04:00
TheFixed d6ef812704 [V3 Admin] fix typo (#1537)
it's -> it is or it has
its -> possessive form of it
2018-04-16 17:36:38 -08:00
Will 4f81bc9621 [V3 CogManager] Fix duplicate paths/reorderpath not working (#1501)
* Fix duplicate paths/reorderpath not working

* Make remove path use the visible paths not the internals.
2018-04-16 21:21:31 -04:00
aikaterna 59276ce2a5 [V3 Audio] External lavalink server settings, playlist saving & recall, bugfixes (#1528)
* Add settings for external lavalink servers

* Add external lavalink server to settings display

* Add simple error handling

* Remove future permissions conflict

Assuming base Red permissions will be accessed with the 'p' command in the future

* Update prev to set requester to user instead of id

* Various fixes

Jukebox: Plebs not in a channel will not have the song cost deducted before the warning to join a channel first.
DJ role: Finer grained permissions for plebs that are alone: they can use prev (if shuffle is off), skip, pause, resume

* Update permissions

* Add track number to footer when queueing

* Add basic playlist saving

More subcommands to come later

* Check if user is not in voice

* Restrict playlist deletion to author and mods

* Add playlist info command
2018-04-17 00:42:32 +02:00
Michael H 96791bd72b [V3] supress pynacl warning (#1508)
* supress pynacl warning

* move the supression to __init__.py

* ..

* Revert "move the supression to __init__.py"

This reverts commit ee7ba9c968.

Doesn't properly work here

* Changes are fine in __init__.py

Needs a module level import in __main__.py or the console scripts generated by pip setup don't ever run the code in __init__

* supress pynacl warning

* puts the changes back again to avoid duplicate module import warning
2018-04-16 14:32:05 -08:00
Michael H 8756b22f5a [V3] Report Tool (#1281)
* Okay, let's fix the issues here hopefully.

* This is working now

* Unfinished, and needs a lot of testing.

* more work

* working

* minor thing to remove

* improve i18n and usage feedback
2018-04-16 13:56:14 -08:00
Wyn 487d256f46 [V3 Docs] Added Arch Installation guide (#1504)
* Added Arch Installation guide

For prereqs:
python-pip pulls python which pulls required packages libffi and openssl
Removed ffmpeg for Java replacement

* index

Adding the guide to the index sounds like a smart idea...

* Removed libsodium

Not needed after all

* added --user flag to installs for pip
2018-04-16 23:45:53 +02:00
Pier-Angelo Gaetani fe0b6aaba4 [V3 Docs] Systemd guide + extras (#1505)
* Documentation extras

Added links to each distro's user add functions
Added systemd service guide
Added --user operator to pip install commands

* Update autostart_systemd.rst

Added no-prompt flag
2018-04-16 23:44:08 +02:00
retke 017c8a6900 [V3 Mod] Denying add_reactions permission to muted users (#1495)
* denied permission of adding reactions to muted users

* Track both send_messages and add_reactions perms
2018-04-16 12:17:03 -08:00
Michael H afe4af0dc2 [V3 Launcher] fix issue with instance removal via launcher (#1535)
* handle issue

* or it would have if I had put it on the right line

* no more making patches from my phone
2018-04-16 11:57:57 -08:00
bobloy fb8e4430ac [V3] Fix Cleanup loop (#1533)
* prevent infinite loop

* pep8 updates

Assorted pep8 updates to retrigger Travis

* Revert "pep8 updates"

This reverts commit d0c7f8b808.
2018-04-16 11:51:01 -08:00
Bakersbakebread 7499f5dbfa [V3 Mod utils] Beihnd -> behind typo (#1531)
Fixed typo
2018-04-16 11:41:11 -08:00
bobloy c7b58aa65b [V3 Economy] guild -> server in [p]bank reset (#1530) 2018-04-16 11:37:29 -08:00
bobloy 705d9b8238 [V3] guild->server (#1529)
Mostly string renames
customcom now recognized {guild} and {server}
2018-04-16 11:32:51 -08:00
bobloy 1bc650b0f9 [V3] Mod.py guild -> server (#1522)
* mod guild->server naming

* typo
2018-04-16 10:13:26 +02:00
palmtree5 580aeea4e2 [V3 Instance setup] fix an issue getting credentials to convert Mongo to JSON (#1514)
* [V3 Instance setup] fix an issue getting credentials to convert Mongo to JSON

* Attempt a fix at data conversion issues
2018-04-16 10:03:21 +02:00
palmtree5 8495824843 [V3 Core] unhide [p]embedset (#1523) 2018-04-16 09:59:34 +02:00
aikaterna 18bb3611fa [V3 Economy] Add credits name to payday (#1496) 2018-04-15 15:23:09 -08:00
bobloy 9f7bf8d1a2 [V3 Launcher] don't get cli flags if no instances are found (#1497)
Don't get cli flags unless there is an instance to get
2018-04-15 15:20:59 -08:00
Michael H 82146eda3d [V3/docs] New Audio, remove old reqs... (#1503)
* typo fix

* update docs with up to date reqs (remove old) and reccommend venv usage

* remove youtube_dl from reqs

* adding the mac doc update after verifying correctness

* venv installation required for py3.5 ...

* remove venv stuff, that can be handled on a unified page in a later PR
2018-04-15 14:44:16 -08:00
Sebass13 d75881e1a3 [V3 Economy] Add per-role payouts (#1488) 2018-04-15 14:40:32 -08:00
Will 5be967e8c5 [V3 Audio] Harden Lavalink boot sequence (#1498)
* Do a bit of hardening

* Loop not asyncio

* Don't use new asyncio coolness

* I hate you all

* Muck up everything

* Fix version comparisons
2018-04-15 14:01:56 -08:00
Kowlin d9fa875d84 [V3] Splitted deployment stage into their own stages. (#1524)
* Splitted deplyoment stages into their own stage.

* Updated Codeowners to reflect meta files.
2018-04-13 13:16:36 -08:00
rngesus-wept 04f93c98d2 [V3] Add .pytest_cache to .gitignore (#1520) 2018-04-11 14:45:53 -08:00
palmtree5 402f6c19e7 [V3 Core] fix some issues with [p]set and [p]set nickname (#1494)
* [V3 Core] fix AttributeError in [p]set

* Fix [p]set nickname

* Make the nickname param on [p]set nickname optional
2018-04-04 12:42:10 +02:00
Michael H 84b0df0437 [V3 Data Converter] Python3.5 compatibility issue patch (#1491)
* python3.5 patch

* urf -> utf
2018-04-02 22:17:40 -04:00
palmtree5 9f4a7f7623 [V3] Bump version to 3.0.0b11 (#1483) 2018-04-02 17:19:50 -08:00
retke 10012c1e16 [V3] added --version flag (#1479) 2018-04-02 17:17:19 -08:00
Michael H d65f8856f4 [V3] Data Converter (#1293)
* More docstrings

* still not ready...

* push this untested pile of code.

* working, menu needs cleaning up though, modlog converter not here yet

* menu cleanup

* add note about the fact that values are overwritten

* add i18n

* User friendlier quitting

* Better naming of a function

* setup automodule for dataconverter

* More documentation

* use Config.MEMBER (etc) instead of 'MEMBER' (etc)
2018-04-02 21:14:37 -04:00
Will d79d8fbbea [V3] Fix logic issue with [p]load (#1460) 2018-04-02 17:09:17 -08:00
palmtree5 772590c41c [V3] Add settings displays to [p]set and [p]bankset (#1475) 2018-04-02 21:01:43 -04:00
aikaterna d9c71bddb8 [V3 Audio] Add voteskip and DJ role (#1473)
* [V3 Audio] Add voteskip and DJ role

* Fix connection time storage for audiostats

* Update pause command for more explicit handling

Partially fixes #1478. Users will need to use pause twice before resuming until issue no. 20 on the Red-Lavalink repo is addressed.

* Update pause command

* Update pause command

* Add jukebox mode

Adds a price option for enqueuing songs. If DJ mode is active when jukebox mode is active, no one is charged credits as mods are exempt and plebs can't queue songs without the DJ role.
2018-04-02 20:53:37 -04:00
Will 29ce2401ca [V3 Config] Fix unloading and implement singleton driver (#1458)
* Add the identifier as an initialization parameter

* Remove config object singleton and opt for a shared JSON datastore

* Fix bot unloading to deal with memory leaks

* Fix tests

* Fix clear all bug
2018-04-02 16:47:27 -08:00
Will 720ef38886 [V3 Help] Fix the two missing characters in help (#1456) 2018-04-02 16:29:44 -08:00
Will 728ab6c8c1 [V3 Downloader] Allow for requiring minimum python version (#1455) 2018-04-02 16:26:07 -08:00
Will 935028addc [V3 Downloader] Add install messages from info.json (#1453) 2018-04-02 16:23:55 -08:00
palmtree5 e70e22d557 [V3 Image] Actually check if a client ID is set before making request (#1485)
* [V3 Image] actually check if a client id is set before making request

* Clarify imgurcreds docstring + drop guild_only from [p]imgur

* Fix the actual problem (bad urls)

* needs to be params not data
2018-04-02 20:14:16 -04:00
palmtree5 f3db4b5cb0 [V3 Modlog] Fix TypeError related to 'until' (#1487) 2018-04-02 20:09:09 -04:00
palmtree5 d60fc06379 [V3] Update translations from Crowdin (#1490) 2018-04-02 19:39:07 -04:00
Wyn a813260717 [V3 Audio] Bump timeout connecting to Lavalink (#1474)
* [V3 Audio] Bump timeout connecting to Lavalink

Lavalink server can take 20-35 seconds to start, bumped to 50 seconds for good measure.

* Update audio.py

Added proper timeout

* Update __init__.py

Removed old timeout
2018-04-02 19:36:26 -04:00
bobloy 10d01df7dd [V3 General] Text fix in flip command (#1489) 2018-04-02 12:43:11 -08:00
palmtree5 8eb075fa86 [V3 Core] Embed toggling support (#1467)
* [V3 CogManagerUI] implement text-only support in [p]cogs

* Change page length to 1800 + workaround for pages starting with delim

* [V3 Core] text mode support for [p]contact and [p]dm

* Implement text-only support in modlog and fix everything that broke because of it

* Fix modlog stuff in filter too

* Fix tests

* Implement optional embed support in [p]help

* move to .format
2018-03-28 20:15:51 -04:00
palmtree5 c2e7bfa641 [V3 Instance setup] Implement backup support for instances using Mongo (#1470)
* [V3 Instance setup] import backup support for instances using Mongo

* remove_instance is now a coroutine + remove NIE

* move Mongo import down

* move another import
2018-03-28 20:12:26 -04:00
palmtree5 2f23244937 [V3 Core] Add [p]backup (#1471)
* [V3 Core] add [p]backup

* move imports
2018-03-28 19:53:27 -04:00
palmtree5 9ecea9e1d5 [V3 instance setup] Warn and request confirmation if instance name already in use (#1469) 2018-03-28 19:13:34 -04:00
palmtree5 61b34e835e [V3] Drop an unnecessary if in embed_requested (#1468) 2018-03-28 19:10:02 -04:00
palmtree5 4e2b83c052 [V3 Docs] Add and update existing features (#1451)
* [V3 Docs] bump version

* Remove removed functions from __all__

* Update docstring format

* Update copyright year

* Add embed utils docs

* Document bot class

* Document RPC

* Update toctree
2018-03-24 17:27:04 -04:00
palmtree5 45ee4755a6 [V3 Core] Fix url sent when doing [p]invite (#1461) 2018-03-24 17:24:06 -04:00
palmtree5 59281afe90 [V3 Instance setup] cog identifiers are strings, not ints (#1448) 2018-03-22 19:11:27 -04:00
retke cf5a63a5d5 [V3] Set token command fix (#1449)
* [V3] Add set token command

* DM check

* warning message + delete if token isn't send in DM

* Update string formatting

* fix condition invertion
2018-03-22 19:08:57 -04:00
Will 96869074c3 [V3 Docs] Third time's the charm (#1447)
* Get the right sphinx version

* Add mongo extra
2018-03-20 21:14:25 -04:00
Will c107d5fa7f [V3 Docs] Really fix it this time (#1444) 2018-03-20 21:08:01 -04:00
Will bed56e8891 [V3 Docs] Add new RTD yaml file (#1443) 2018-03-20 20:58:48 -04:00
palmtree5 c4b641e62a [V3] Bump version to 3.0.0b10 (#1418) 2018-03-20 16:36:32 -08:00
James 153d710eb4 [V3] Allow load, unload and reload to deal with multiple packages (#1441)
* [V3] Allow load, unload and reload to deal with multiple packages

This PR allows multiple packages to be loaded, unloaded or reloaded with the one command, the packages are delimited by the space character as suggested by Will
This is just the functionality, I'm sure the code could be better

* introduced helper function for getting package load strings

* missed characters

* forgotten import 👀

Forgot to include the import `inline` method from chat_formatting
2018-03-20 16:32:54 -08:00
palmtree5 83471e0866 [V3 Core] implement commands and settings for embeds (#1437)
* [V3 Core] add settings for whether to use embeds or not

* Implement commands to toggle embed settings

* Add a function to context for finding whether to use embeds or not

* Hide [p]embedset for now

* Move embed_requested to bot

* Add a simple helper in context
2018-03-21 01:17:40 +01:00
Michael H 01b9843883 [V3] Change presence (continued fixes) (#1438)
* This better fixes the root issue rather than attempting to work around it

* move bot_in_guild to checks, and use the correct syntax
2018-03-21 01:12:40 +01:00
retke 749af89e9f [V3] Set token command (#1425)
* [V3] Add set token command

* DM check

* warning message + delete if token isn't send in DM

* Update string formatting
2018-03-21 01:08:36 +01:00
palmtree5 27b61a2770 [V3 Streams] Fix community alerts (#1426)
* [V3 Streams] fix community alerts

* drop unneeded parentheses + delete messages when removing from cache

* move to one embed for a community

* fix adding image to embed

* Remove unneeded params

* Really helps to point to the right place

* drop the game, move channel name+link to value

* Use stream title in embeds

* Increase number of streams to grab to 100

* filter out streams with existing individual alerts in the channel

* need channel id, not stream id in filtering function

* sample from the list

* we only want to break out if the alert is a TwitchStream alert

* drop off sending the mentions if there are none
2018-03-20 19:25:23 -04:00
palmtree5 eb3b6346bb [V3] Set r/w access before deleting files (#1412)
* [V3] set access before deleting

* [V3] move+rename do_delete and use in repo removal in downloader
2018-03-20 18:46:15 -04:00
aikaterna 2e9a0de4a1 [V3 Audio] Update audio to use Red-Lavalink (#1440)
* [V3 Audio] Update audio for Red-Lavalink

* Update requirements for new library

* Fix logic for connect time storage for audiostats

Only store time when connecting to the voice channel.
2018-03-20 23:28:31 +01:00
palmtree5 f83e3cc3e7 [V3 Economy] Expand payday output (#1386)
* [V3 Economy] implement suggestions from #1371

* Fix a typo

* Add functions for getting leaderboard and leaderboard position

* Use the new functions to get leaderboard position and leaderboard (overrides https://github.com/Cog-Creators/Red-DiscordBot/pull/1435)

* Actually implement showing only guild members on leaderboard when bank is global

* get_leaderboard_position needs to be awaited

* For global bank, pass None for guild to get_leaderboard when trying to find position

* Remove some unneeded code

* Wrong index...

* Combine 3 messages into 1

* Fix guild leaderboard while bank is global

* add missing parentheses

* Modify the leaderboard formatting

* More work on leaderboard formatting

* no subtraction
2018-03-20 18:22:10 -04:00
palmtree5 a8f4659552 [V3 Instance Setup] Storage swapping (#1421)
* [V3 Instance Setup] start work on storage swapping

* This should do the trick for Mongo -> JSON

* Fix typo

* Fix a few more typos

* resolve the data path

* Upsert the imported data

* need a list of the documents

* to_list is a coro
2018-03-16 13:37:12 -08:00
Will 25a5c3dec9 Pip install to library dir (#1432) 2018-03-16 16:12:05 +01:00
Wyn c49cb4a213 [V3 Readme] Update Patreon link (#1434)
Add on to #1431
2018-03-14 19:22:50 -04:00
palmtree5 c4dbbc2d1e [V3 Warnings] Action list isn't a dict (fix #1382) (#1408) 2018-03-14 19:10:07 -04:00
palmtree5 fe3d6f57af [V3 Streams] Add support for Youtube streams (#1385) 2018-03-14 19:07:14 -04:00
palmtree5 052af2f9bf [V3 Cleanup] Code consolidation (#1347)
* [V3 Cleanup] refactor to consolidate duplicate code

* [V3 Cleanup] make the prompting function a staticmethod

* Drop continuing message + add punctuation to docstrings
2018-03-14 19:03:11 -04:00
Adam 16da9f52ac [V3 Audio] update Lavalink build (#1427) 2018-03-12 21:48:13 -08:00
palmtree5 22a342d36d [V3 Bank/Economy] Fix #1404 and an issue with [p]bank reset (#1407)
* [V3 Bank] fix an issue with checks

* [V3 Economy] fix issues with [p]bank reset
2018-03-12 19:10:46 -04:00
palmtree5 4fcf32b5e9 [V3 Bank] Add confirmation prompt on [p]bankset toggleglobal (#1402) 2018-03-12 19:05:21 -04:00
palmtree5 5bdb455bc0 [V3 Instance setup] Change backup time separator for Windows (#1419) 2018-03-12 18:48:13 -04:00
BaIthamel 1cb74f0ea7 [V3] Fix for issue #1363 (#1424)
[p]cogs and [p]repo now print alphabetically
2018-03-12 18:44:30 -04:00
Tobotimus c7e8c95640 [V3] discord.Game -> discord.Activity (#1397)
* [V3] discord.Game -> discord.Activity

* Update userinfo to reference new enum
2018-03-12 18:41:37 -04:00
Will ccb322d08e [Audio] V3/auto autostart only (#1420)
* Download jar at audio load

* Messy...

* Remove leftover log file stuff

* Keep application.yml

* Damn you windows
2018-03-12 00:49:08 +01:00
Wyn b27e0f2d21 [V3 Audio] Rename Game to Activity (#1409)
* Rename `Game` to `Activity` for audio

Add on to pull #1397

* Update audio.py

Whoops, don't need this here

* Update audio.py

Now fixed
2018-03-08 20:55:03 -05:00
aikaterna 6a715d87dd [V3 Audio] Add prev command, bugfixes for audiostats, search (#1405)
* Update audiostats to display days in timer

* Add prev command

* Update search button to play enqueued song
2018-03-08 20:50:54 -05:00
Tobotimus 6138b78c07 [V3 Admin] Make [p]announce consume all args into the message (#1394)
* Fix announce (resolves #1390)

* Make other commands consume all args

Also fixes [p]announce channel
2018-03-08 20:45:41 -05:00
palmtree5 f84ef48819 [V3 Docs] add java install to install docs (#1389) 2018-03-08 20:06:27 +01:00
palmtree5 cda27944b6 [V3 Mod] fix #1401 (#1403) 2018-03-07 09:48:22 +11:00
Will c9281f734b [V3 Config] Fix clear throwing errors (#1374) 2018-03-06 10:28:37 +11:00
palmtree5 f378ea0d2e [V3 Core] add update check (#1388)
* [V3 Core] add update check

* [V3 Core] have it DM the owner if out of date
2018-03-06 10:21:01 +11:00
James 40c37b5c06 [V3 Help][ fix help_formatter to obey length limits (#1375)
Help didn't account for docstrings passing length limits which I noticed a while ago and as noticed again when Palm forgot a dual newline in a command docstring.
This PR sees to fix this by enforcing length limits on description, field names and field values
2018-03-06 10:10:56 +11:00
Will 57b7db6956 [V3 Admin] Remove guild default channel (#1381)
* Remove guild default channel

* Fix weird set thing
2018-03-06 09:52:26 +11:00
Michael H b4f5c2c0a1 Revert "[V3]Encoding issue fix" (#1392)
* Revert "[V3 Core] Encoding issue fix (#1365)"

This reverts commit f6903cf582.

* Don't let the system encoding screw with things,
specify opens as happening with utf-8 encoding

(cherry picked from commit c10e4dddca)
2018-03-06 08:18:41 +11:00
Michael H f6903cf582 [V3 Core] Encoding issue fix (#1365)
* Don't let the system encoding screw with things,
specify opens as happening with utf-8 encoding

* And also deal with encoding issues because windows is a special snowflake
(see: #1366)

* let's just use the encoding param in str() rather than encode/decode...
2018-03-04 13:02:04 -05:00
aikaterna 3816385228 [V3 Audio] Fix repeat, Message deletions (#1379)
* Fix repeat

Also remove restriction on if the player is playing.

* Auto-delete existing Now Playing message

* Auto-delete existing notify message

* Wrap line on Now Playing message

* Add connected duration to audiostats

_dynamic_time based on a function written by Redjumpman

* Return negative seek past song start as 00:00:00

* Version number
2018-03-03 18:55:24 -05:00
Will f65085946c [V3 Audio] Initial V3 addition (#1373)
* Initial audio

* Add application data and modify port

* Modify codeowners

* Need extra newline

* add yml to manifest

* lock lavalink version
2018-03-03 15:42:20 +11:00
Thomas Mercurio b10b746d9e [V3 Config] Correct Mongo connection URI without credentials (#1362)
* Correct connection string without credentials

* Remove extra whitespace.
2018-03-02 18:39:45 +01:00
James ed5945e182 fixed exception (#1372)
`requirements.remove` will raise a ValueError if the item is not there, not `IndexError`
2018-03-02 18:35:28 +01:00
Will cf48a13fc7 Potentially fix auto deploy issues (#1357) 2018-02-28 13:08:47 +01:00
palmtree5 29d9bbad32 [V3] Bump version to 3.0.0b9 (#1348) 2018-02-26 11:49:48 -09:00
Will 004f42bf6e [V3 Config] Limit connections to Mongo DB (#1356) 2018-02-26 15:34:30 -05:00
Will 41e0d105f6 [V3 Config] Make Mongo work with any db (#1355) 2018-02-26 15:28:20 -05:00
Will fdd61963e6 Add pip install command (#1354) 2018-02-26 11:21:41 -09:00
Will 10cbd4d3c4 [V3 Sentry] Only log errors that come from core code (#1353)
* Do not load core cogs as extensions

* Filter this shit
2018-02-26 15:16:49 -05:00
Will 64af7800dc [V3 Config] Adjust functionality of get_attr (#1342)
* Intermediate commit

* Add defaulting stuff to config

* Remove set_attr in favor of set_raw

* Modify get_attr

* Fix issue with clearing data
2018-02-26 11:13:01 -09:00
palmtree5 c428982c00 [V3 Core] Add listlocales command (#1351)
* [V3] Add listlocales command + remove a hanging 2 letter translation

* Sort the locales list

* Doc info in set locale
2018-02-26 15:05:06 -05:00
Will 1363bc3f43 [V3] Disregard limitations on repo names (#1349) 2018-02-25 21:21:13 -09:00
Michael H 09ddfe4250 [V3] Re-allow using presence modifying commands without being in a guild (#1345)
Actually update on all shards (we need to do this even with autoshardedbot as base)
2018-02-25 21:10:59 -09:00
Will e13de0950c [V3 Config] Implement a true clear method (#1344)
* Add clear methods to drivers

* Update config clear methods, add to Value

* Add test
2018-02-25 21:07:28 -09:00
palmtree5 c1ac78eea4 [V3] Warning system (#1173)
* [V3 Warning] initial work on a warning system for v3

* [V3 Warning] rename some stuff and add a case type

* [V3 Warnings] rename package from warning

* [V3 Warnings] restructuring commands

* [V3 Warnings] remove expiry stuff + other refactoring

* [V3 Warnings] refactoring action logic

* [V3 Warnings] rewrites to action logic

* [V3 Warnings] add regen_messages.py
2018-02-25 20:14:38 -09:00
Kowlin 21de95e0a6 [CI] Added support for conditional builds and env vars (#1320)
* Changed travis deploy scheme

* Fixed indentation

* Okay NOW I did fix indentation (hopefully)

* Conditional deployment tests

* Fixed a 7:35 AM typo

* Fixed builds not building.
2018-02-25 20:10:55 -09:00
palmtree5 0593bb9c53 [V3 i18n] Update translations from Crowdin (#1350) 2018-02-25 21:57:14 -05:00
Will bd1ce26dc7 Fix missing repos folder (#1330) 2018-02-25 16:40:09 +01:00
Will 2612e7c23a [V3 Config] Add more information to the docs (#1343)
* Attempt to determine the registered default...if any

* Intermediate commit

* Add more doc information
2018-02-25 14:56:12 +01:00
Will 93ca7abc1a [V3 Core Commands] Limit status modifying commands to be run in guild only (#1331)
* Limit status modifying commands to be run in guild only

* JK let em run.

* Add a space
2018-02-23 02:44:06 +01:00
Will de4af14676 Fix unreferenced tmp variable (#1334) 2018-02-23 02:29:04 +01:00
Will c9a6c0ffcc Converters don't work the way I think they do (#1336)
(No they don't Will -- Kowlin)
2018-02-23 02:21:39 +01:00
Will d414806fa2 Close aiohttp ClientSession (#1340) 2018-02-23 02:08:49 +01:00
Will d54c129c57 [V3 Config] Allow users to directly specify a cog name with config (#1339) 2018-02-22 19:42:30 -05:00
Will 7c848153f8 [V3 Config] Limit config objects to a single one per cog (#1337)
* Limit config objects to a single one per cog

* do it correctly

* Do nicer thing

* do it right...

* I will get this right eventually
2018-02-22 19:36:07 -05:00
Will 4e36c2f82d [V3 Config] Add helper methods for advanced data access (#1335)
* Add get_raw/set_raw

* Add default to get_raw

* Add custom group method to the config object

* Add more methods for custom groups

* Add some docstrings

* Deepcopy the result of get_raw, throw TypeError if no value is passed to set_raw

* Do it right..

* Better way to require kwarg
2018-02-23 11:29:37 +11:00
Sebass13 b5c71bc59c [V3 Mod/Filter] Fix #1202 (#1327)
* Fix #1326

Checks to see if `author` is a `valid_user` (of `Member` class) before checking to see if the bot `is_mod_or_superior` to the `author`.

* Fix #1202

Raises `TypeError` when `User` objects are passed into `is_mod_or_superior` or `is_admin_or_superior`, as only `Member` objects have a `guild` attribute.

* Fixes #1202

Checks to see if `author` is a `valid_user` (of `Member` class) before checking to see if the bot `is_mod_or_superior` to the `author`.
2018-02-21 18:36:13 -05:00
Sebass13 d20724d7b2 [V3 General] Fix error in [p]userinfo when game is not set (#1325)
* Fix #1321

Modifies the game-checking lines so that they don't assume `user.game` is not a NoneType object.

* Fix #1321

Modifies the game-checking lines so that they don't assume user.game is not a NoneType object. Also alerts the user to go bother @tekulvw if somehow the invariants of `user` having a `game` attribute and the `game` attribute either being `None` of having a `type` attribute in `[0, 1, 2, 3]` are broken.

* Update general.py
2018-02-20 18:06:06 -05:00
Sebass13 1cca5ee5cb [V3 Downloader] Fixes issue #1323 (#1324)
The use of `popitem` makes the right side of line 642 return a tuple of the form `(repo, (old, new))` instead of a dictionary of the form `{repo: (old, new)}`, as expected by the left hand side of the same line.
2018-02-19 22:41:19 -05:00
palmtree5 95acf7402d Fix pip install in .travis.yml (#1319) 2018-02-18 18:56:09 -09:00
palmtree5 c8f3734569 [V3] bump version to 3.0.0b8 (#1296) 2018-02-19 04:45:24 +01:00
Will f9d846a704 [V3 Config] Driver code initial cleanup (#1315)
* Remove get_driver

* Rename self.driver to self._driver

* Do not unnecessarily pass the cog identifier

* Remove unused import

* Fix type annotation

* Missed a keyword rename

* Modify signature of get/set methods in drivers
2018-02-18 18:30:32 -09:00
retke 3984cb8f48 load and reload command errors available with the [p]traceback command (#1307) 2018-02-19 04:18:56 +01:00
Bakersbakebread a0327a62dd move [p]cogs to embeds (#1299)
* move [p]cogs to embeds

Fancy embeds for the masses

* pagify
2018-02-18 18:03:27 -09:00
palmtree5 a388d07f30 [V3 Events] modify CommandInvokeError handler to use the vague message as a fallback if a cog doesn't provide its own __error function (#1279) 2018-02-19 03:59:46 +01:00
Michael H 7f0cca1baf pin all dependencies except youtube-dl, and Red-Trivia. (#1317)
* pin all dependencies except youtube-dl, and Red-Trivia.
The ranges on these might be expandable, but I can personally confirm these versions
to work

* this is what I get for copy/pasting version and not double checking

* and this is what I get for manually typing it
2018-02-19 03:52:32 +01:00
Will 249756e0d2 [V3 Downloader] Make shared libraries work and make repo handling smarter (#1313)
* Make stuff stateless

* Update shared lib stuff
2018-02-19 03:49:43 +01:00
Bakersbakebread d2e841f681 [V3] Add prompt if message deletion > 100 (#1304)
* Add prompt if message deletion > 100

As per issue #1295. 

Add's the prompt "Are you sure you want to delete {number} messages? (y/n)"

* added checks and deletes "Continuing" message

phew

* removed unneeded delete()

Removed the unneeded code
2018-02-18 17:44:45 -09:00
Will b871241eac [V3 Core] Add optional async setup function (#1314) 2018-02-18 21:12:58 -05:00
palmtree5 86b5932c8f [V3] add a script for regenerating all strings (#1318)
* [V3] add a script for regenerating all strings

* Edits to the yml files

* Fix up deploy section

* Make generate_strings upload to Crowdin
2018-02-19 03:02:22 +01:00
palmtree5 39dbe2805b [V3] Pin aiohttp-json-rpc due to conflicts (#1312) 2018-02-16 18:51:55 +01:00
William 263e94454c [V3 Core] Adds listening and watching games. (#1284)
* Adds listening and watching games.

* Remove guild check

* Fix typos

* Fix more typos.
2018-02-14 16:55:18 -09:00
palmtree5 01e8579215 [V3 instance setup] allow removing instances without taking a backup + error handling for missing data path (#1277) 2018-02-15 02:39:29 +01:00
palmtree5 e00fa2df26 [V3] move 'distro' out of requirements.txt (blame Windows) (#1298) 2018-02-15 02:30:30 +01:00
aikaterna 78615b5dc8 [V3 Core] Add timeout exceptions to [p]servers (#1305) 2018-02-14 16:21:51 -09:00
Haruki N. Grande 9f8a008442 [V3 CogManager] Fixed typo (#1285) 2018-02-14 15:57:17 -09:00
Will 6678b29396 [V3 Config] Fix async context manager bug and add test (#1308)
* Fix config bug and add test

* Fix the full bug

* Extra safeness
2018-02-14 19:12:13 -05:00
Kowlin 11636b16d2 [V3 General] Updated userinfo (#1289)
Updated userinfo to include new statuses
2018-02-09 13:18:06 -09:00
palmtree5 194981cd8b [V3] Bump version to 3.0.0b7 (#1271) 2018-01-28 19:10:01 -09:00
palmtree5 0c85e0fe22 [V3] Add support for removing instances (#1270)
* [V3 Instance Setup] add a way of removing instances

* [V3 Launcher] add instance removal support to the launcher
2018-01-29 04:56:28 +01:00
Michael H de3a057e6e [V3] Allow root to own data (#1264) 2018-01-28 18:41:01 -09:00
palmtree5 f36ed2f8c8 [V3 Core] add restart command (#1272) 2018-01-29 04:29:56 +01:00
palmtree5 1d1f2c9f12 [V3 Core] add uptime command (#1273) 2018-01-29 04:25:17 +01:00
Redjumpman 9feb7ad876 Config Fix (#1267)
Added helper function to fix all() method
2018-01-29 04:19:41 +01:00
Michael H 1b45397e67 [V3 Core] Mentionable prefix (#1256)
* allow mentioning the bot as a fallback to a prefix

* make this toggleable
2018-01-24 10:43:51 +11:00
palmtree5 55bbbe6268 [V3] pin yarl to 0.18.0 (#1262) 2018-01-19 23:24:21 +01:00
palmtree5 eeba454dbb [V3] bump version to 3.0.0b6 (#1254) 2018-01-14 19:51:05 -09:00
Michael H b80c327e35 For Linux service users, (#1236)
* For Linux service users,
use `appdirs.AppDirs().site_data_dir`
instead of `appdirs.AppDirs().user_config_dir

* somewhat important for this to be changed consistently

* need to import os to use it

* travis doesn't like how I was checking in config_dir had been set.
2018-01-15 05:35:33 +01:00
Aioxas eb10508c5f [V3 Alias] Allow wider range of aliases (#1201)
* [V3 Alias] Allow wider range of aliases

Possible fix for #1118

Makes it so that the only non-valid names are the ones that can't be printed by something.

* [V3 Alias] Edit Check & Error Message

Reflects the wider range of aliases that can be created.

* [V3 Alias] Fix wrong slash in regex

* [V3 Alias] Fix Wrong Closing Parenthesis Position

Can't believe I'm messing it up
2018-01-14 19:28:57 -09:00
Tobotimus 73c08da037 [V3 Sentry] Allow toggling of Sentry logging (#1214)
* Refactor sentry to allow toggle

* Rename sentry module

* Protect sentry manager

* Fix tests

* Fix EOF newlines

* Add docstrings
2018-01-15 15:26:26 +11:00
Tobotimus e18f94c17d Fix [p]cleanup bot (#1205) 2018-01-15 05:20:54 +01:00
Michael H f1a20e1677 [V3 Streams] Duplicate stream alerts fix (#1244)
case insensitive on twitch streams, with a fast dedupe on load toany prior bad entries.
2018-01-14 19:17:57 -09:00
Tobotimus 4ac606b468 [V3 Launcher] Fix asking for cli flags after invalid instance selection (#1200) 2018-01-14 19:11:24 -09:00
Tobotimus 980e8eeb3e [V3 Core] Catch errors when reloading (#1225) 2018-01-14 19:04:09 -09:00
Tobotimus ffea55265d [V3] Fix UnicodeEncodeError on startup (#1248)
Fixes case where encoder can't support border characters
2018-01-14 18:57:28 -09:00
Tobotimus fb0190f826 [V3 Trivia] Allow crediting the author of trivia lists (#1197)
* Credit author of trivia lists

* Use proper sentences

* Remove unwanted traceback print
2018-01-15 14:50:14 +11:00
Tobotimus 68800d28fc [V3 Streams] Replace instances of ClientSession assignment with async context manager (#1238) 2018-01-14 18:43:06 -09:00
Tobotimus 05c5c58eaf [V3 Utils] Improve bordered function and add tests (#1206) 2018-01-13 11:15:34 +11:00
Redjumpman 1c504f681e [V3 Config] Fixed raised Attribute Error Message (#1247)
Added space in raised Attribute Error message
2018-01-13 10:57:37 +11:00
Redjumpman 5bd7a23864 [V3 Bank] Fix can_spend and withdraw_credits (#1234)
* Fixed equality operator

can_spend function should be using a >= instead > so that you can spend all of your currency.

* Update bank.py

Fix for withdraw using the wrong equality operator.

* Revert withdraw_credits

Reverted withdraw_credits back to original operator.
2018-01-11 20:26:34 +01:00
William 7aa829fa8c [V3] Update year in license (#1242) 2018-01-09 16:20:05 -09:00
Michael H de1b135dec [V3 Help Formatter] Fix help command's error handler (#1237) 2018-01-07 11:26:21 +11:00
Tobotimus d83f14d1b6 [V3 Streams] Fix preceding comma in streamalert messages (#1224)
* Refactor getting mentions for streamalerts

* Add missing await

Fixes #1192
2018-01-01 18:24:36 +11:00
Kowlin 0a705071c2 [Core] QoL for argparser (#1217)
* Made Argparser more QoL

* Edited the usage command.
2017-12-31 14:19:56 +11:00
Tobotimus 80d68684fb [V3 Context] Fix ctx.send_interactive in DM (#1221)
Fixes #1220
2017-12-31 11:29:07 +11:00
palmtree5 c737785114 Bump version to 3.0.0b5 (#1189) 2017-12-17 19:12:50 -09:00
Tobotimus 76ae62cb84 [V3 Streams] Improve command responses and help, rename modules (#1194)
* Command response improvements for streams

Fix #1182

Fix #1183

Various other command response improvements

* Rename main to streams, streams to streamtypes

* Raise errors for communities
2017-12-17 18:56:17 -09:00
palmtree5 103f79eca5 [V3 Mod] Fix helpers compatibility with User objects (#1185) 2017-12-17 22:23:54 -05:00
Will 0979231435 [V3 Sentry] Modify error logging cases (#1193)
* Fix duplicate on_

* Make better use of sentry error handler
2017-12-17 21:21:41 -05:00
palmtree5 f3da10ec98 [V3 Utils] add embed utils with a random_colour function (#1164)
* [V3 Utils] add embed utils with a random_colour function

* [V3 Utils] random_colour -> randomize_colour + make it take an embed

* [V3 Utils] decomplicate the random color selection
2017-12-17 20:45:08 -05:00
Will 0debc0a4d3 [V3 Core] Add blacklist/whitelist commands (#1160)
* Add blacklist/whitelist

* Don't let owners add themselves to the blacklist
2017-12-18 12:41:11 +11:00
Will bc8b9d32db [V3 Launcher] Use existing logic, fix bugs (#1168) 2017-12-18 12:31:05 +11:00
palmtree5 73d68e926d [V3 Mod] fix error with [p]names (#1188)
* [V3 Mod] fix error with [p]names

* [V3 Mod] add null cleaner to names command
2017-12-17 20:23:35 -05:00
palmtree5 ba5b18dfe8 [V3 Filter] Fix typo (#1186) 2017-12-17 20:10:36 -05:00
Will be591d7c65 [V3 Sentry] Fix sentry logging (#1169) 2017-12-12 22:34:34 -05:00
Will b34a58e521 [V3 Dev] Fix REPL output (#1170) 2017-12-13 14:30:13 +11:00
palmtree5 4f0043b805 [V3 Mod] fix some issues relating to ignore (#1166)
* [V3 Mod] remove unnecessary decos from ignore/unignore

* [V3 Core] fix is_mod and is_admin so they don't return True if the mod/admin roles aren't set
2017-12-12 20:31:12 -05:00
aikaterna 0a0f2a9dcc [V3 CustomCom] Update cc list for V3 (#1149)
Fix for #1087.
2017-12-09 19:55:09 -05:00
Will 50c9e7767d [V3 Dev] Fix mock command (#1156) 2017-12-09 19:44:34 -05:00
retke a53f284c88 [V3] Fix typo in launcher menu (#1153) 2017-12-09 19:03:40 -05:00
Vicente Rivera ee0d1d269c [V3 Streams] Fix race issue on init (#1135)
* Fix for #1132

Fixes `self.streams` being a `Task` object instead of a list. 
Also replicated for `self.communities`, since the issue is the same 
(although untested, it can be inferred).

* Implement sub-method to avoid init errors

The new method waits for `streams` and `communities` to be initialized
before running the `_stream_alerts` method, avoiding possible errors
due to lists being uninitialized

* Fix streams and communities loading

* Delete IDE config file
2017-12-09 18:58:01 -05:00
Will 6d1d699059 [V3] Actually add compatibility with 3.5.1 (#1155)
* Fix 3.5.1 issue with TYPE_CHECKING

* I hate you

* Smarter...
2017-12-09 18:51:35 -05:00
Will 02d7193a92 [V3 Downloader] Fix non relative data path (#1150) 2017-12-08 20:09:23 -05:00
Tobotimus ef7216722f [V3] Clean up shutdown exceptions (#1141) 2017-12-08 19:24:57 -05:00
palmtree5 878d10a1e2 [V3 Core] allow set game to unset the game (#1146) 2017-12-07 16:17:47 +01:00
Kowlin d8bb18c07d [V3 Docs] Removal of Static CSS to fix Sphinx theme (#1144) 2017-12-06 08:45:20 -05:00
palmtree5 18853d0c86 [V3] bump version to 3.0.0b4 (#1139) 2017-12-03 22:11:30 -09:00
palmtree5 648a1a1893 [V3 Launcher] add launcher (#1110)
* [V3 Launcher] add launcher

* [V3 Launcher] move extras selection to its own function

* Add distro to requirements

* [V3 Launcher] platform.linux_distribution -> distro.linux_distribution

* [V3 Launcher] add methods of setting cli flags to be passed

* [V3 Launcher] pass remaining args not known to launcher's argument parser to redbot

* [V3 Launcher] handle KeyboardInterrupt in launcher

* [V3 Launcher] undo something that would break stuff

* [V3 Launcher] remove co-owners from interactive mode redbot cli flag selection

* [V3 Launcher] clarify the disable console interaction option
2017-12-03 22:09:22 -09:00
palmtree5 52f264dae6 [V3 Streams] Update picarto stream thumbnail URIs for new load-balanced thumbnails (#1130) 2017-12-03 22:04:42 -09:00
Tobotimus 9dbf56f942 [Config] Retrieve/save values with async context manager (#1131)
* [Config] Retrieve/save values with async context manager

* Add a little docstring

* Documentation

* Implement async with syntax in existing modules
2017-12-03 18:07:34 -09:00
Tobotimus 9b1018fa96 [V3 JSON Driver] Don't save json if it exists (#1133) 2017-12-03 17:54:24 -09:00
palmtree5 5ebde77747 [V3 Core] add traceback, invite, leave, and servers commands (#1125)
* [V3 Core] add traceback, join, leave, and servers commands

* [V3 Core] rename join to invite
2017-12-03 17:42:00 -09:00
renebulous 66d8ded924 Fixed cleanup pulling more logs than required. (#1128)
Added conditional statement to break loop once number of messages to be deleted has been reached.
2017-12-03 17:30:41 -09:00
palmtree5 183572f312 [V3 Mod&Filter] add tempbans and filtering names/nicknames (#1123)
* [V3 Mod] add tempban command

* [V3 Filter] add name filtering

* [V3 Mod] Modify invite finding to have a max_age param

* [V3 Mod and Filter] regen messages.pot

* [V3 Mod] fill in formatting on tban invite

* [V3 Filter] add on_member_join + refactor logic on_member_update
2017-12-03 17:27:48 -09:00
Kowlin de09a8b7ca [Sentry] Changed logging URL (#1138)
* [Sentry] Changed logging URL

* [Sentry] Updated URL (again, but without a free submodule)
2017-12-03 15:29:06 -09:00
Will 9a98d5aa8f [V3 Help] Fix help for unknown commands (#1137) 2017-12-03 18:02:03 -05:00
palmtree5 e6086bb7b3 [V3 Core] add info command (#1124) 2017-12-03 17:31:20 -05:00
Will 064e9b6bd0 [V3 Help] Convert help command to support embeds (#1106)
* Replace built in help with embedded help

* Make embeds pagify

* Fix thingy

* Fix missing embed permissions
2017-11-26 20:04:26 -05:00
Tobotimus 09ed5e67a6 Handle inability do delete others' messages (#1111) 2017-11-22 21:21:53 -09:00
Tobotimus 2c96844209 Make audit_type optional in casetypes (#1119) 2017-11-22 21:17:42 -09:00
palmtree5 acbb5b1720 Bump version to 3.0.0b3 (#1105) 2017-11-19 14:55:29 -09:00
palmtree5 9bfa390d0c [V3 Filter] handle exception when registering case type (#1108) 2017-11-19 14:49:37 -09:00
palmtree5 69c50591b2 [V3 Mod] Fix unban and case numbering problems (#1101)
* [ModLog] fix case numbering issue

* [Mod] fix unban command
2017-11-19 18:47:30 -05:00
Will 02d3aec33e [V3 Dependencies] Fix travis/gh 429s (#1109)
* Fix travis/gh 429s

* JK this fixes it

* Keep pip updated

* Ok lets just use pip

* ONE...MORE...
2017-11-19 14:43:35 -09:00
Will e983e1cefb Fix shutdown issue with streams (#1107) 2017-11-19 14:32:00 -09:00
Tobotimus b94bad38e7 [V3 Context] Interactive sending of multiple messages (#1081)
* Interactive pages method for context

* Use new methods in dev

* Undo code formatting

* Rename method to be more generalised

* More general arg
2017-11-19 14:21:40 -09:00
palmtree5 8dcace4bfd [Core V3] add instance listing cli flag (#1079)
* [Core] add instance listing cli flag

* Alphabetically sort instance names
2017-11-19 14:17:01 -09:00
Tobotimus 1b6065bb46 [V3 Economy] Update from config changes (#1084) 2017-11-19 18:01:09 -05:00
Will 89981f46b0 Fix reload error handling (#1104) 2017-11-19 13:33:33 -09:00
Tobotimus 7322f0c676 [V3 Mod/ModLog] Fix duplicate cases and allow case creation without audit log perms (#1102)
* Use ban/unban queue

* Refactor unban's cmd help

* Better support for no audit log perms
2017-11-19 13:23:47 -09:00
Tobotimus 5cef3e13e1 [V3 Docs] Docs for utils package (#1085)
* Docstrings for chat formatting

* Docstrings for mod utils

* Type checking

* Override CSS to highlight object name in definition

* More typing

* Utils docs pages

* Fix typo here
2017-11-19 13:14:05 -09:00
Twentysix b141729830 [V3 Mod] Fix DMs not being handled on_command (#1086) 2017-11-17 20:43:49 +01:00
Tobotimus b348a879c3 [V3] Remove mentions of Red being in Alpha and update README (#1083)
* Remove mentions of alpha version

* Update README.rst

* Give the option for git build in README
2017-11-16 14:12:18 -09:00
SML d2742cbe6e [V3 Docs] Fixed incorrect link in description for Cog-Creators/Red-DiscordBot#47 (#1092) 2017-11-14 14:08:01 -09:00
Tobotimus fb0be051aa [V3 Modlog] Modlog layout and formatting changes (#1089)
* Modlog layout and formatting changes

* Remove unused import
2017-11-14 13:59:34 -09:00
Tobotimus 14ba572acd [V3] Update CODEOWNERS (#1090)
* Update CODEOWNERS

* Add rpc.py entry

* fill in files with no entry in codeowners
2017-11-13 19:41:06 -09:00
Will 46e37d5ff5 Fix typing module for 3.5.1 (#1080) 2017-11-07 13:15:47 -09:00
palmtree5 1ef62b5e32 Bump version to 3.0.0b2 (#1078) 2017-11-05 16:05:47 -09:00
palmtree5 d6fce3c145 [Mod] fix duplicate cases on ban/unban (fixes Cog-Creators/Red-DiscordBot/issues/1052) (#1064) 2017-11-05 16:02:45 -09:00
Tobotimus 897adbf5ac [Trivia] [WIP] V3 Rewrite (#915)
* Rewritten basic settings

* Ported to V3

* Will saves the dicts

* TriviaSession uses Config

* wait_for is the future

* Out with recursion and redundancy

* Remove typing before first question

* Added payout multiplier setting

* Payout setting uses appropriate check

* Implement actual paying of winner

* Removed trivia lists from repository

* Added payout confirmation message

Also rearranged the order of methods in TriviaSession to better represent the sequential order of running trivia

* Contestant count fixed

Also fixed error when lists folder is missing

* Support for multiple categories per session

* Extra error handling

* Update from rebase

* Use of task cancel

* Nicer docstrings

* Oops

* Better imports

* YAML lists

* Using the trivia list repo (YAY)

* Cast all answers to string since YAML is dumb

* session.stop() is not an async function

* Remove redundant attribute from session

* Sessions manage their own tasks

* Add `redbot/trivia` to .gitignore

* Add PyYAML to requirements.txt

* Parse answers properly before checking

* Add Red-Trivia to reqs

* Better task management and some optimisations

Sessions now just use a flat dict for settings instead of config. This means the settings can't be changed after the session is started, but it removes the need for config to be read for every question.

* Allow lists to override settings

* Fix config logic

* Iteration fixes, config override fixes, task management fixes

* Don't hide dict abuse

* Stats tracking

* Leaderboard implemented

* [leaderboard] ignore self and reverse list

* [leaderboard] Handle empty score counter

* Only count win when max score is reached
2017-11-05 15:56:55 -09:00
aikaterna 0959aebd10 Update userinfo to display webp avatar images (#1075) 2017-11-05 15:20:17 -09:00
zephyrkul 33f124263d [V3] Add pagify priority option (#1069)
Allows setting pagify to prioritize earlier delims over later ones.
2017-11-05 13:20:22 -05:00
Will 73469f070c [V3] Fix Windows start screen issue (#1058)
* Add colorama init

* Remove sqrts in favour of crossed boxes (#3)

* Detect stdout encoder's support for sqrt sign (#4)
2017-11-05 13:13:48 -05:00
palmtree5 32372ea237 [V3] Standardize to ctx.send_help() (#1077) 2017-11-05 13:09:02 -05:00
aikaterna ef6dbee516 [V3 Core] Moved [p]cogs command to CogManager (#1076)
* Move cogs command to CogManager

* Move cogs command to CogManager

* self.bot -> ctx.bot

* Typing

* Missing import
2017-11-05 13:05:29 -05:00
aikaterna 2c6af90703 [V3 Downloader] Pagify cog and repo lists (#1072) 2017-11-03 19:11:36 -04:00
Jay Turner dc4fb6d7c3 Added "git+" to install command under "Create a cog" docs (#1073) 2017-11-02 16:43:21 +01:00
Will 1a89eba9e6 [V3] Explicitly define aiohttp version to avoid conflicts (#1070) 2017-11-01 21:44:05 -04:00
Will 1490b0dcbe [V3 RPC] Handle shutdown gracefully (#1071) 2017-11-01 21:40:44 -04:00
palmtree5 edabd07719 [V3 Customcom] i18n support (fix Cog-Creators/Red-DiscordBot/issues/1018) (#1065) 2017-10-29 11:32:05 -04:00
palmtree5 ad0c75866f [Modlog] bugfix for case type enabled/disabled status (#1046) 2017-10-27 16:58:05 -08:00
Will f459a21bef [V3 RPC] Add basic RPC functionality (#1017)
* Add basic RPC functionality

* Add load/unload/reload rpc commands

* Reorganize without rpc_ready event

* Remove rpc ready event

* Removed bot reference from rpc module

* Close RPC server cleanly

* refactor bot

* Refactor a bit and make RPC server initialization based on a cli flag

* Fix version resolver

* standardize version getters

* Pick a new port number
2017-10-27 20:55:41 -04:00
palmtree5 8d8e1c61d8 [V3 Mod] Fix exception registering unchanged case types (#1059)
* [V3 Mod] handle RuntimeError from registering unchanged case types

* [Mod] drop unnecessary except
2017-10-27 20:43:42 -04:00
Twentysix cee92e1cd2 [Streams] [WIP] Rewrite (#782)
* [Streams] [WIP] Rewrite

* [Streams] [WIP] Settings related commands

* [Streams] Moved to Config

* [Streams] Added [p]streamalert stop

* [Streams] Added toggleable autodeletion

* [Streams] Added [p]streamalert list

* [Streams] beam.pro -> Mixer

* V3 streams modifications (#847)

* [Streams] implement mention command

* [Streams] implement mentions in stream alert check

* [Streams] move to 3 separate commands for alert mentions

* [Streams] implement support for alerting for twitch community streams… (#849)

* [Streams] implement support for alerting for twitch community streams (Twentysix26/Red-DiscordBot/issues/824)

* [Streams] async getter implementation

* [Streams] repr for TwitchCommunity class

* [Streams] move and fix imports (#994)

* [Streams] function rename due to duplicate names

* [Streams] drop force_registration

* [Streams] fix command not displaying help
2017-10-27 16:28:51 -08:00
Jori van Ee 2ab910e3e9 Update economy.py (#954)
* Update economy.py

* Update README.md

Add crowdin badge to readme
2017-10-27 16:15:16 -08:00
Will 09b3642559 [V3 Cog/Data Manager] Bundled Cog Data (#1063)
* Refactor find_spec out of core_commands

* Fix version error when not installed

* initial

* Fix find_cogs call

* Enable copying

* Add helper method for cog creators

* Add warning

* My dpy skillz need work
2017-10-27 20:06:47 -04:00
palmtree5 77e29ff43b Add issue and pull request template (#1012)
* Add issue and pull request template

* Remove 'no support questions' from issue template

* Remove 'no support questions' from CONTRIBUTING.md
2017-10-25 18:46:08 -08:00
Will 9394b4880e [V3 Docs] Add data manager information (#1056)
* Add Data Manager docs

* Add rst file

* Add note on data manager's purpose
2017-10-24 20:38:27 -08:00
Will 923913f63d Fix image loading issue (#1057) 2017-10-24 20:35:05 -08:00
Will fed115996c Fix missing awaits (#1055) 2017-10-24 18:53:10 -08:00
Redjumpman 10647f14b2 Fix for Start Screen (#1050)
Fixes #1045
2017-10-24 12:27:13 -08:00
Will 6f0b3fb669 [V3] Bump version to 3.0.0b1 (#1044) 2017-10-22 21:53:58 -04:00
palmtree5 afc30dd1c3 [V3 Docs] Add docs on i18n (#1030) 2017-10-22 21:24:24 -04:00
Will d346216fa2 [V3 Downloader] List all loaded and unloaded cogs (#1019)
* Working without core cogs

* Working with core cogs

* Fix path search logic

* Fix docstring

* Type fix
2017-10-22 21:13:23 -04:00
palmtree5 3febc94871 [V3] migration docs (#992)
* [Docs] start on migration guide

* [Docs] add more to migration docs

* [Docs] fix imports in examples

* [Docs] add migration guide to toctree

* [Docs] add a cog creation guide

* [Docs] expand on cog packages in migration guide

* Fix typo

* [Docs] add link for modlog docs
2017-10-22 21:05:47 -04:00
palmtree5 fb125ef619 [V3] Mod initial rewrite (#1034)
* Readd work due to redoing branch

* [modlog] Move to core and start work on separating it from cogs

* More work on modlog separation

* [Core] Finish logic for modlog, do docstrings, async getters

* [Core] Add stuff to dunder all

* [Docs] Add mod log docs

* [Core] Move away from dunder str for Case class

* [Docs] don't need to doc special members in modlog docs

* More on mod log to implement commands

* More work on Mod

* [Mod] compatibility with async getters

* [Tests] start tests for mod

* [Tests] attempted fix

* [Tests] mod tests passing now!

* [ModLog] update for i18n

* modlog.pot -> messages.pot

* [Mod] i18n

* fix getting admin/mod roles

* Fix doc building

* [Mod/Modlog] redo imports

* [Tests] fix imports in mod tests

* [Mod] fix logger problem

* [Mod] cleanup errors

* A couple of bug fixes

Async getters, some old `config.set` syntax

* Filter ignores private channels

* Fix softban

Was still relying on default channels

* Actually ignore private channels

* Add check for ignored channels

* Fix logic for ignore check

* Send confirm messages before making case

* Pass in guild when setting modlog

* Thanks autocomplete

* Maintain all data for case

* Properly ignore softbans in events

* [Mod] bugfixes

* [Mod] more changes

* [ModLog] timestamp change

* [Mod] split filter and cleanup to their own cogs + regen messages.pot

* [Cleanup] change logic

* [Cleanup] increase limit for channel.history

* [Mod] await getter in modset banmentionspam

* [Mod] attempt duplicate modlog message fix

* [Mod] get_user -> get_user_info

* [Modlog] change reason command so the case author can edit their cases (#806)

* [Modlog] make reason command guild only

* [Modlog] clarify the reason command's help

* [Mod] package path changes + numpy style docstrings for modlog

* [Mod] change ban and unban events to need view audit log perms to find/create a case

* [Modlog] refactoring

* [Filter] add autoban feature

* [Mod] update case types + event changes

* [Mod/Modlog] fix tests, fix permissions things

* [Docs] fix up modlog docs

* Regenerate messages.pot
2017-10-22 21:02:16 -04:00
Tobotimus fe61ef167e [V3 Config] Remove redundancies and update old docs Re:#1033 (#1039)
* Remove MemberGroup class and _super_group method

Also found some docstrings which were missing stuff

* Update documentation
2017-10-22 20:57:06 -04:00
palmtree5 3b96e94992 [V3 Docs] fix install commands (#1043)
* [Docs] fix install commands

* [Docs] update with option of installing from github
2017-10-22 20:40:12 -04:00
Will 5d48e6f3b1 [V3 Config] Add MongoDB driver (#972)
* Basic Mongo Driver

* Update docstrings

* WIP motor support

* Use motor

* Update docs, add selective importer

* Make use of selective importer

* Fix docs

* Fix config storage location for JSON

* Add delimiters in the drivers doc section

* Make async things async

* Add basic config information for mongo driver

* get info from basic setup into config

* IT WORKS

* Add dependency for RJM's PR.
2017-10-20 19:12:45 -04:00
Redjumpman 6f103174aa V3/start screen (#1038)
* Added new start screen

* Added Bordered util

Bordered function required for boxes in start screen

* Update events.py

Added Color to the Title
Added Shard count

* Update events.py

Added Discord.py version
Added package checking for docs and tests
Added package checking for voice

* Update chat_formatting.py

Cleaned up the border function a bit.
2017-10-20 11:29:55 -08:00
Tobotimus 815678584f [V3 Config] Redesign "all_from_XXX" and "clear_all" methods (#1033)
* Added alternative to all_from_kind

* Returned dicts include default values

Also added docstrings

Also removed all_globals since it's kind of redundant and it wasn't working out for me

* Refactored clear_all

* Tests

* Tests again..

* Make all new methods coroutines
2017-10-19 23:22:58 -04:00
Redjumpman 13fef45e06 [V3] Fix for pagify (#1036) 2017-10-19 23:13:01 -04:00
Will 5cfa7b6ed1 [V3 DataManager] Add some helper methods for interacting with bootstrapping configuration (#1029)
* Some helpers

* Add dunder all
2017-10-17 22:05:49 -04:00
Tobotimus c80684a129 [V3] NumPy Docstrings (#1032)
* ALL THE DOCSTRINGS

* Remove imports in drivers package

* Fixed build warnings
2017-10-17 22:01:59 -04:00
Will 684004d614 [V3] Add sharding (#1027)
* EZ PZ sharding

* Add this little nugget
2017-10-16 19:54:55 -04:00
Aioxas 4d7f065b10 [Alias V3] Corrected functions & spelling (#1023)
As discussed with Will in Discord.
2017-10-16 18:27:02 -04:00
Kowlin d1d8711f60 Updated Codeowners (#1026)
* Updated Codeowners

* Added new cogs to Codeowners
2017-10-16 14:14:15 -08:00
Nick Rodriguez f0821776a9 Fix #936 (#1022) 2017-10-16 14:03:27 -08:00
Kowlin 5c7361b95f Attempt at fixing build errors. (#1025) 2017-10-16 11:27:27 -08:00
Tobotimus 980a1a452c [V3 Dev] Various fixes and improvements to Dev (#981)
* Include discord in [p]debug env

* Typecast eval output to string

* Use globals instead of locals for debug

* Fix up storing last result and non-string results

* Cleanup code and better help messages
2017-10-15 22:45:09 -04:00
palmtree5 4993c5a675 [V3 Docs] Add install guides to the documentation (#1005)
* [Docs] add install guides to the documentation

* formatting changes
2017-10-15 22:40:57 -04:00
Tobotimus 86b18c702c [V3] Custom context class (#988)
* Create custom context class

* Documentation

* Remove old help method, replace with new

* Update from rebase
2017-10-15 21:02:50 -04:00
palmtree5 36b3fbd5bc [V3 CustomCom] Initial V3 implementation (#1003) 2017-10-15 20:50:55 -04:00
Will d9a63b45d4 [Docs] Fix imports in Config (#1015) 2017-10-15 20:13:25 -04:00
Will 4ddd576315 [V3 Admin] Rewrite of Squid-Plugins Admin cog (#825)
* Add/remove roles

* Announcement

* Edit role stuff

A bit of refactoring

* Selfrole stuff

* Add announce ignore capabilities

* announce configurations

Announcement fixes

* Serverlock initial commit

* Add some admin tests

better test

* Update for new config

* Add user hierarchy checks

* Fix tests

* Update from rebase

* Fix config getter

* Fix async getters/selfrole
2017-10-14 18:05:08 -04:00
palmtree5 fc36dae54f [V3] Add voice install option and instructions in README (#979)
* [V3] add voice option to setup.py + instructions in readme

* Fix typo
2017-10-01 13:25:32 -04:00
Tobotimus 31395d9efc [V3 Core] Fix reload of core cogs (#980)
* Fix reload of core cogs

* Remove trailing whitespace
2017-10-01 13:20:21 -04:00
Will ea4aaf61c1 [Cog Manager] Fix cog manager paths command (#976) 2017-09-27 22:01:35 -04:00
Will cf77eb2e47 [Core] Fix loading of cogs on initial startup (#971) 2017-09-09 15:27:05 -04:00
Will 5ae6fe2dda Potential docs fix #2 (#970) 2017-09-08 19:45:40 -08:00
Will 7c3b2673a5 [Docs] Fix docs post pip install refactor (#969)
* Fix downloader

* Fix bank

* Fix cog manager

* Fix config

* Fix readme

* Add docs/test link to readme

* Add docs codeowners
2017-09-08 23:31:32 -04:00
Will d69fd63da7 [V3 Everything] Package bot and write setup scripts (#964)
Ya'll are gonna hate me.

* Initial modifications

* Add initial setup.py

* working setup py help

* Modify setup file to package stuff

* Move a bunch of shit and fix imports

* Fix or skip tests

* Must add init files for find_packages to work

* Move main to scripts folder and rename

* Add shebangs

* Copy over translation files

* WORKING PIP INSTALL

* add dependency information

* Hardcoded version for now, will need to figure out a better way to do this

* OKAY ITS FINALLY FUCKING WORKING

* Add this guy

* Fix stuff

* Change readme to rst

* Remove double sentry opt in

* Oopsie

* Fix this thing

* Aaaand fix test

* Aaaand fix test

* Fix core cog importing and default cog install path

* Adjust readme

* change instance name from optional to required

* Ayyy let's do more dependency injection
2017-09-08 23:14:32 -04:00
Tobotimus 6b1fc786ee [Dev V3] mockmsg command (#928) 2017-09-04 01:49:49 -04:00
palmtree5 48e36d3ca1 [V3 docs] Add a tutorial for Config and fix Bank docs (#959)
* [V3 docs] Add a tutorial for Config

* fix missing colon

* Add some links to the actual methods

* Fix bank docs
2017-09-04 01:13:33 -04:00
Will ff1864779a [i18n] Make locale switching permanent (#962)
* remove unused import

* Make set locale permanent

* Add codeowner
2017-09-03 20:36:01 -08:00
Will 73643f84ae Logic error (#960) 2017-09-03 19:12:28 -08:00
Pier-Angelo Gaetani 51fe1411cd [i18n] Spanish translation (#949)
* [i18n] Initial spanish translations.

* [i18n] Minor correction.

* [i18n] Character corrupted fix.

* [i18n] File info filled, author name corrected.

* [i18n] Economy corrections.

* [i18n] General, corrupted character and question/exclamation mark corrections.

* [i18n] Economy, question/exclamation mark corrections.

* [i18n] Core translations added.

* [i18n] One too many newlines.
2017-09-01 23:38:36 -04:00
Kowlin 409ac569b2 Update Crowdin configuration file 2017-08-30 18:18:32 +02:00
Will 118df46630 [i18n] Basic Implementation (#948)
* Initial commit

* Beginning of working i18n

* Add some translation files

* Add more strings to translate

* Update and add some more translations

* Update spanish translation

* Update french translation

* Add alias translation templates

* Add bank translations

* Add economy translations

* Add general translations

* Add image translations

* Add core translations
2017-08-26 18:54:51 -04:00
Will 3d76f3a787 [Core V3] Make the bot data path configurable (#879)
* Initial commit

* Fix sentry

* Make cog manager install path work relative to the bot's dir

* Fix downloader to save data relative to the defined data folder

* Fix sentry test

* Fix downloader tests

* Change logfile location

* Add another line to codeowners

* Basic tests

* Fix versioning

* Add in FutureWarning for config file changes

* Add reference to issue
2017-08-20 15:49:51 -04:00
Jori van Ee b7f1d9ed1a Update main.py (#934)
* Update main.py

Move discord import to the beginning of file, aswell as the version check, if the version wasn't atleast major_version 1 it would give an exception in the core imports (bot.Guilds isn't defined)!

* Move sys import up
2017-08-19 11:09:28 -08:00
aikaterna cd32932b75 Added await to set for currency name (#935) 2017-08-19 10:36:11 -08:00
Tobotimus 2700a005d4 [Core V3] Fix reload (#927) 2017-08-15 19:46:31 -08:00
Tobotimus 115418d323 [Core V3] Fix checks (#924)
* Fix global checks

* Fix bank's checks

Predicates for decorators return true or false, they don't return other decorators

* Async getters in core checks
2017-08-15 14:09:57 -08:00
zephyrkul 2a19f151fc [Core V3] Fix pagify bug (#920)
* Let's try this again...

* accidentally a colon
2017-08-15 00:42:48 -04:00
Will fa5a1f9c19 [Docs] Config fix (#921) 2017-08-14 14:53:11 -08:00
Will da28630644 [Config] Modify config's all methods to provide default values (#916)
* Add in functionality for Tobotimus

* Cover all_guilds

* Make it obvious

* Fix auto rename of docstrings

* Fix downloader docs warning
2017-08-14 11:56:53 -08:00
Will 248d2baa2a [Config] Fix get_attr with awaited getters (#912) 2017-08-13 19:02:38 -04:00
Will c6762234e6 [Docs] Update downloader framework docs (#914)
* Update installable

* Update Repo manager
2017-08-13 19:00:10 -04:00
palmtree5 0ba6d9a5af [Image] Rewrite for V3 (#768)
* [Core] add imgurpython to requirements

* [Image] v3 rewrites

* remove imgurpython from requirements

* [Image] switch to Config, add in instructions for getting imgur client id

* Add default register
2017-08-13 16:14:45 -04:00
palmtree5 680a44c4b4 [Core] Add shutdown command (#911) 2017-08-12 16:41:25 -08:00
Will f78c33445c [Docs] Cog Manager (#901)
* Cog manager docs

* Oops, kinda need this
2017-08-12 14:03:28 -08:00
Will 85b0f34395 This is actually awesome! (#909) 2017-08-11 19:53:05 -08:00
Will f6cbe82848 Damnit (#908) 2017-08-11 18:55:35 -08:00
palmtree5 fd684bdb58 [Docs] Add bank docs (#900)
* Add bank docs

* [Docs] fix bank docstrings for formatting

* [Docs] add bank to toctree

* rename and make bank rst use members

* Formatting changes

* Add account to dunder all
2017-08-11 21:59:27 -04:00
Will 96a93e00aa Fix Edit on Github button (#904) 2017-08-11 17:51:17 -08:00
Will de912a3cfb [Config] Asynchronous getters (#907)
* Make config get async

* Asyncify alias

* Asyncify bank

* Asyncify cog manager

* IT BOOTS

* Asyncify core commands

* Asyncify repo manager

* Asyncify downloader

* Asyncify economy

* Asyncify alias TESTS

* Asyncify economy TESTS

* Asyncify downloader TESTS

* Asyncify config TESTS

* A bank thing

* Asyncify Bank cog

* Warning message in docs

* Update docs with await syntax

* Update docs with await syntax
2017-08-11 21:43:21 -04:00
Will cf8e11238c [Docs] Copy over config docs from red-api-docs (#899)
* Update config.Config docs

* Set group docstrings

* Update Value docs
2017-08-11 01:39:43 -04:00
Will 7e05903c61 [Docs] The beginning of the reign of autodoc (#898)
* Update gitignore

* Add docs basic config

* Add config options for rtd and autodoc

* Add requirements.txt and update conf to support coros

* Add downloader cog docs

* Add downloader reference docs

* Add config, apparently invalid rst syntax breaks a lot of shit
2017-08-11 00:14:42 -04:00
Will 13cabfbad7 [Core] Add multiple/external cog paths support (#853)
* WIP cog path manager

* Initial working state

* Get real reloading working

* Type error thingy

* And fix the tests

* Start UI shit

* path reordering

* Add install path getter/setter and fix config syntax

* Determine bot directory at runtime

* Add UI commands for install path

* Update downloader to use install path

* Add sane install path default

* Make evaluation of cog install path lazy

* Some typing fixes

* Add another line to codeowners

* Conditionally put install path in paths

* Always put install path first

* Dont allow people to add the installdir as an additional path, guarantee install dir isn't shown with paths command

* Make shit update loaded cogs

* Add tests

* Another one
2017-08-10 23:09:49 -04:00
Will 0651a6ddc3 [Bank/Economy] Fix leaderboard bug due to previous config PR (#894) 2017-08-09 22:00:30 -04:00
Twentysix 9a1064c81d [Core] Added [p]contact and [p]dm (#875)
* [Core] Added [p]contact and a way to DM users through Red

* Turned reply feature into [p]dm command

* Better docstring
2017-08-09 21:48:50 -04:00
Will d4da9edb3e [Config] Fix 'all' handling to match docs (#889)
* Fix some stuff to match docs

* For Palm__ <3
2017-08-09 21:39:19 -04:00
palmtree5 4923ffe98a [Economy] [WIP] rewrite (#781)
* [Economy][Bank] redo branch

* WIP

WIP

* Implement all current bank commands API calls

* Set dunder all and put into bot

* make core change to economy

* Add is_global method to bank

WIP

* Add extra bank API commands

* Update bank UI

Update some imports

Remove bank UI errors file

Typing thing

* Update bank get_global_accounts and touch up economy some more

Do some more economy updates

* Remove bank from bot

* Another passing test

FINALLY

* Fixy type things

Last fixes for now

Fix arg to toggle global

RJM

Invalid bid amount handler

cooldown msg

currency name fix

Fix fun bug

ANother bug

And payday limit

* PEP8 stuff

* Docstring change

* Fix this thing

* [Economy][Bank] redo branch

* [Economy][Bank] modify guild owner or bot owner check, add admin or bot owner check for global vs local bank

* [Economy] apply admin or bot owner check to [p]economyset

* Make some public things private

* [Economy] lots of refactoring for conditional permission checks and guild checks + supporting global economy

* And working stuff

* Fix Kowlin's bug

* Fix slot bugs
2017-08-09 17:23:41 -08:00
Will 99bfb2fc7a [Config] Rewrite (#869) 2017-07-31 01:40:31 +02:00
Kowlin 5c2be25dfc [Sentry] Cleared out websocket breadcrumbs (#870)
This adds additional protections to make sure no sensitive information gets caught in our Sentry error logger.
2017-07-28 00:24:09 -04:00
Twentysix b1601b1bf0 [Dev] server -> guild in dev commands 2017-07-27 01:33:40 +02:00
Twentysix be5c7f4592 [Core] Co-owners cli flag only, implemented owner cli flag
After giving it further thought, I don't believe co-owners really need to be a command, as it is unlikely that co-owners will need to be changed often enough.
Furthermore, this gives a further layer of protection to people who like to gloss over warnings.
2017-07-25 01:48:13 +02:00
Will 2fa5792f69 [GitHub] Contributing guidelines (#864)
Add `CONTRIBUTING.md` to the project.
2017-07-22 22:55:47 -04:00
Twentysix26 74910a490b [Core] Fixed [p]set owner 2017-07-19 11:30:40 +02:00
Will 19c69aaca6 Added CODEOWNERS file (#848) 2017-07-15 14:59:51 +02:00
Will d8710f0c7d [Downloader] [p]findcog: Find a cog from a command (#855) 2017-07-12 23:41:22 +02:00
Kowlin 150de9ed6f Revert "Added Dev_commands to the Sentry logger (#826)" (#831)
This reverts commit b483e24e33.
2017-06-30 17:03:09 +02:00
Kowlin b483e24e33 Added Dev_commands to the Sentry logger (#826) 2017-06-30 16:55:30 +02:00
Twentysix 2d02dcf682 [Dev] Cast repl output to str before sending 2017-06-24 20:41:02 +02:00
Will 8fa967cb91 Added Alias cog (#780) 2017-06-21 22:59:26 +02:00
Will 80756ba490 [Core] Add dynamic versioning based on git tag (#790) 2017-06-18 02:18:08 +02:00
Twentysix 03791b9fbc [Downloader] Cleaned up commands' docstrings, del -> delete 2017-06-18 01:50:41 +02:00
Twentysix feffb56847 Fill out license info 2017-06-18 01:32:51 +02:00
Will 53810b2262 Added Downloader cog (#786) 2017-06-18 01:31:32 +02:00
Twentysix b12a41cd77 [Dev] Fixed [p]repl, sanitize [p]eval output 2017-06-17 19:12:53 +02:00
Will 9b4581a781 [Core] Fixed [p]set owner and [p]set avatar (#817) 2017-06-17 17:31:44 +02:00
Will 7b91bc0633 [Dev] Added [p]repl and [p]eval (#814) 2017-06-16 21:00:32 +02:00
Will 94cfd23c00 [Core] Add Sentry logger for core cogs data gathering only (#813) 2017-06-16 20:48:00 +02:00
Will 422bbba7f6 [Config] Fix get() functionality (#815) 2017-06-16 20:35:32 +02:00
Will 68bc6e3325 [Core] Check for correct discord.py version at boot (#799)
Fixes #798
2017-06-09 19:22:36 +02:00
Twentysix c5ab97ce0d [Core] Fixed owner request's author not showing up 2017-06-04 19:53:12 +02:00
Twentysix 35c88084ba [Core] Ported [p]set commands, added [p]set coowners 2017-06-04 19:37:39 +02:00
Twentysix 0fc4939a07 [Utils] Fixed pagify 2017-06-03 05:34:48 +02:00
Will 82d9457647 Sentry error logging (#784) 2017-05-29 22:43:00 +02:00
Twentysix e469ee201b Added .tmp and .data to .gitignore 2017-05-28 23:26:52 +02:00
Will 3988fbbc09 [Core] Replaced JsonDB with Config (#770) 2017-05-28 04:28:59 +02:00
palmtree5 a8745297dc [General] Initial porting (#757)
Polls have been removed for now and they will be remade in the future (maybe even as a separate cog)
2017-05-14 17:12:32 +02:00
Twentysix 311339240f [Core] Added separate dev cog
This is enabled with the cli flag --dev
2017-05-14 03:20:54 +02:00
Twentysix cf2925978b [Core] Interactive configuration 2017-05-13 23:55:14 +02:00
Twentysix 592751884e [Core] Reworked intro and added oauth url 2017-05-01 03:23:05 +02:00
Twentysix 51ce2d82d6 [Core] Added relative_path parameter to json helpers
Since these helpers will mostly be used by packages, it's important to make sure that the data they create stays contained inside them. This also brings the additional benefit of being able to manipulate data inside a package without knowing the name of the package's folder itself
2017-04-30 05:12:00 +02:00
Twentysix ba9d4b7f0f [Core] Implemented missing checks, extended DB
The DB has been extended and now covers the functionality of the old Settings class of the previous version
2017-04-30 00:28:56 +02:00
Twentysix 9fc4e54ece [Core] Removed flusher, helpers now save on changes
After some considerations, while the flusher was an interesting experiment, it doesn't seem to be reliable enough. It's been removed in favor of the helpers autosaving on any change in a threadsafe way.
2017-04-29 19:26:34 +02:00
Twentysix bd341f1875 [Core] Properly end tasks and process flusher's queue on quit 2017-04-28 18:13:02 +02:00
Twentysix b113a94c52 Added requirements.txt and LICENSE, removed duplicate file 2017-04-28 09:16:10 +02:00
Twentysix 294adf270f [Core] Save package status and restore it on boot
Also better error handling on package loading
2017-04-28 09:16:10 +02:00
Twentysix 1d3b541e8f [Core] Handle connection errors, fetch token from env var / db
Also reimplemented the old status codes
2017-04-28 09:16:10 +02:00
Twentysix cc1d7b2b59 [Core] Check for coowners in the db 2017-04-28 09:16:10 +02:00
Twentysix 36b19de9da [Core] Moved checks.py to main core package 2017-04-28 09:16:10 +02:00
Twentysix 2063decbe7 First commit 2017-04-28 09:16:10 +02:00
Twentysix 6251c585e4 Empty commit 2017-04-28 09:15:36 +02:00
752 changed files with 120589 additions and 20438 deletions
+62
View File
@@ -0,0 +1,62 @@
# Default
* @Twentysix26
# Core
redbot/core/bank.py @palmtree5
redbot/core/checks.py @tekulvw
redbot/core/cli.py @tekulvw
redbot/core/config.py @tekulvw
redbot/core/cog_manager.py @tekulvw
redbot/core/core_commands.py @tekulvw
redbot/core/context.py @Tobotimus
redbot/core/data_manager.py @tekulvw
redbot/core/dev_commands.py @tekulvw
redbot/core/drivers/* @tekulvw
redbot/core/events.py @tekulvw
redbot/core/global_checks.py @tekulvw
redbot/core/i18n.py @tekulvw
redbot/core/json_io.py @tekulvw
redbot/core/modlog.py @palmtree5
redbot/core/rpc.py @tekulvw
redbot/core/sentry_setup.py @Kowlin @tekulvw
redbot/core/utils/chat_formatting.py @tekulvw
redbot/core/utils/mod.py @palmtree5
redbot/core/utils/data_converter.py @mikeshardmind
redbot/core/utils/antispam.py @mikeshardmind
redbot/core/utils/tunnel.py @mikeshardmind
redbot/core/utils/caching.py @mikeshardmind
redbot/core/utils/common_filters.py @mikeshardmind
# Cogs
redbot/cogs/admin/* @tekulvw
redbot/cogs/alias/* @tekulvw
redbot/cogs/audio/* @aikaterna @atiwiex
redbot/cogs/bank/* @tekulvw
redbot/cogs/cleanup/* @palmtree5
redbot/cogs/customcom/* @palmtree5
redbot/cogs/downloader/* @tekulvw
redbot/cogs/economy/* @palmtree5
redbot/cogs/filter/* @palmtree5
redbot/cogs/general/* @palmtree5
redbot/cogs/image/* @palmtree5
redbot/cogs/mod/* @palmtree5
redbot/cogs/modlog/* @palmtree5
redbot/cogs/streams/* @Twentysix26 @palmtree5
redbot/cogs/trivia/* @Tobotimus
redbot/cogs/dataconverter/* @mikeshardmind
redbot/cogs/reports/* @mikeshardmind
redbot/cogs/permissions/* @mikeshardmind
redbot/cogs/warnings/* @palmtree5
# Docs
docs/* @tekulvw @palmtree5
# Setup, instance setup, and running the bot
setup.py @tekulvw
redbot/__init__.py @tekulvw
redbot/__main__.py @tekulvw
redbot/setup.py @tekulvw
# Others
.travis.yml @Kowlin
crowdin.yml @Kowlin
+94 -22
View File
@@ -1,23 +1,43 @@
# Introduction
### Welcome!
First off, thank you for contributing to the further development of Red. We're always looking for new ways to improve our project and we appreciate any help you can give us.
# Contents
* [1. Introduction](#1-introduction)
* [1.1 Why do these guidelines exist?](#11-why-do-these-guidelines-exist)
* [1.2 What kinds of contributions are we looking for?](#12-what-kinds-of-contributions-are-we-looking-for)
* [2. Ground Rules](#2-ground-rules)
* [3. Your First Contribution](#3-your-first-contribution)
* [4. Getting Started](#4-getting-started)
* [4.1 Setting up your development environment](#41-setting-up-your-development-environment)
* [4.2 Testing](#42-testing)
* [4.3 Style](#43-style)
* [4.4 Make](#44-make)
* [4.5 Keeping your dependencies up to date](#45-keeping-your-dependencies-up-to-date)
* [4.6 To contribute changes](#46-to-contribute-changes)
* [4.7 How To Report A Bug](#47-how-to-report-a-bug)
* [4.8 How To Suggest A Feature Or Enhancement](#48-how-to-suggest-a-feature-or-enhancement)
* [5. Code Review Process](#5-code-review-process)
* [5.1 Issues](#51-issues)
* [5.2 Pull Requests](#52-pull-requests)
* [5.3 Differences between "new features" and "improvements"](#53-differences-between-new-features-and-improvements)
* [6. Community](#6-community)
### Why do these guidelines exist?
# 1. Introduction
**Welcome!** First off, thank you for contributing to the further development of Red. We're always looking for new ways to improve our project and we appreciate any help you can give us.
### 1.1 Why do these guidelines exist?
Red is an open source project. This means that each and every one of the developers and contributors who have helped make Red what it is today have done so by volunteering their time and effort. It takes a lot of time to coordinate and organize issues and new features and to review and test pull requests. By following these guidelines you will help the developers streamline the contribution process and save them time. In doing so we hope to get back to each and every issue and pull request in a timely manner.
### What kinds of contributions are we looking for?
### 1.2 What kinds of contributions are we looking for?
We love receiving contributions from our community. Any assistance you can provide with regards to bug fixes, feature enhancements, and documentation is more than welcome.
# Ground Rules
# 2. Ground Rules
We've made a point to use [ZenHub](https://www.zenhub.com/) (a plugin for GitHub) as our main source of collaboration and coordination. Your experience contributing to Red will be greatly improved if you go get that plugin.
1. Ensure cross compatibility for Windows, Mac OS and Linux.
2. Ensure all Python features used in contributions exist and work in Python 3.5 and above.
2. Ensure all Python features used in contributions exist and work in Python 3.6 and above.
3. Create new tests for code you add or bugs you fix. It helps us help you by making sure we don't accidentally break anything :grinning:
4. Create any issues for new features you'd like to implement and explain why this feature is useful to everyone and not just you personally.
5. Don't add new cogs unless specifically given approval in an issue discussing said cog idea.
6. Be welcoming to newcomers and encourage diverse new contributors from all backgrounds. See [Python Community Code of Conduct](https://www.python.org/psf/codeofconduct/).
# Your First Contribution
# 3. Your First Contribution
Unsure of how to get started contributing to Red? Please take a look at the Issues section of this repo and sort by the following labels:
* beginner - issues that can normally be fixed in just a few lines of code and maybe a test or two.
@@ -27,35 +47,87 @@ Unsure of how to get started contributing to Red? Please take a look at the Issu
At this point you're ready to start making changes. Feel free to ask for help; everyone was a beginner at some point!
# Getting Started
### Testing
We've recently started adding unit-testing into Red. All current tests can be found in the `tests/` directory at the root level of the repository. You will need `py.test` installed in order to run them (which is already in `requirement.txt`). Tests can be run by simply calling `pytest` once you've `cd`'d into the Red repository folder.
# 4. Getting Started
### To contribute changes
1. Create your own fork of the Red repository.
2. Make the changes in your own fork.
Red's repository is configured to follow a particular development workflow, using various reputable tools. We kindly ask that you stick to this workflow when contributing to Red, by following the guides below. This will help you to easily produce quality code, identify errors early, and streamline the code review process.
### 4.1 Setting up your development environment
The following requirements must be installed prior to setting up:
- Python 3.6.2 or greater (3.6.6 or greater on Windows)
- git
- pip
- pipenv
If you're not on Windows, you can optionally install [pyenv](https://github.com/pyenv/pyenv), which will help you run tests for different python versions.
1. Fork and clone the repository to a directory on your local machine.
2. Open a command line in that directory and execute the following commands:
```bash
pip install pipenv
pipenv install --dev
```
Red, its dependencies, and all required development tools, are now installed to a virtual environment. Red is installed in editable mode, meaning that edits you make to the source code in the repository will be reflected when you run Red.
3. Activate the new virtual environment with the command:
```bash
pipenv shell
```
From here onwards, we will assume you are executing commands from within this shell. Each time you open a new command line, you should execute this command first.
Note: If you haven't used `pipenv` before but are comfortable with virtualenvs, just run `pip install pipenv` in the virtualenv you're already using and invoke the command above from the cloned Red repo. It will do the correct thing.
### 4.2 Testing
We've recently started using [tox](https://github.com/tox-dev/tox) to run all of our tests. It's extremely simple to use, and if you followed the previous section correctly, it is already installed to your virtual environment.
Currently, tox does the following, creating its own virtual environments for each stage:
- Runs all of our unit tests with [pytest](https://github.com/pytest-dev/pytest) on python 3.6 and 3.7 (test environments `py36` and `py37`)
- Ensures documentation builds without warnings, and all hyperlinks have a valid destination (test environment `docs`)
- Ensures that the code meets our style guide with [black](https://github.com/ambv/black) (test environment `style`)
To run all of these tests, just run the command `tox` in the project directory.
To run a subset of these tests, use the command `tox -e <env>`, where `<env>` is the test environment you want tox to run. The test environments are noted in the dot points above.
Your PR will not be merged until all of these tests pass.
### 4.3 Style
Our style checker of choice, [black](https://github.com/ambv/black), actually happens to be an auto-formatter. The checking functionality simply detects whether or not it would try to reformat something in your code, should you run the formatter on it. For this reason, we recommend using this tool as a formatter, regardless of any disagreements you might have with the style it enforces.
Use the command `black --help` to see how to use this tool. The full style guide is explained in detail on [black's GitHub repository](https://github.com/ambv/black). **There is one exception to this**, however, which is that we set the line length to 99, instead of black's default 88. When using `black` on the command line, simply use it like so: `black -l 99 -N <src>`.
### 4.4 Make
You may have noticed we have a `Makefile` and a `make.bat` in the top-level directory. For now, you can do two things with them:
1. `make reformat`: Reformat all python files in the project with Black
2. `make stylecheck`: Check if any `.py` files in the project need reformatting
### 4.5 Keeping your dependencies up to date
Whenever you pull from upstream (V3/develop on the main repository) and you notice the file `Pipfile.lock` has been changed, it usually means one of the package dependencies have been updated, added or removed. To make sure you're testing and formatting with the most up-to-date versions of our dependencies, run `pipenv install --dev` again.
### 4.6 To contribute changes
1. Create a new branch on your fork
2. Make the changes
3. If you like the changes and think the main Red project could use it:
* Ensure your code follows (generally) the PEP8 Python style guide
* Run tests with `tox` to ensure your code is up to scratch
* Create a Pull Request on GitHub with your changes
### How To Report A Bug
### 4.7 How To Report A Bug
Please see our **ISSUES.MD** for more information.
### How To Suggest A Feature Or Enhancement
### 4.8 How To Suggest A Feature Or Enhancement
The goal of Red is to be as useful to as many people as possible, this means that all features must be useful to anyone and any server that uses Red.
If you find yourself wanting a feature that Red does not already have, you're probably not alone. There's bound to be a great number of users out there needing the same thing and a lot of the features that Red has today have been added because of the needs of our users. Open an issue on our issues list and describe the feature you would like to see, how you would use it, how it should work, and why it would be useful to the Red community as a whole.
# Code Review Process
# 5. Code Review Process
We have a core team working tirelessly to implement new features and fix bugs for the Red community. This core team looks at and evaluates new issues and PRs on a daily basis.
The decisions we make are based on a simple majority of that team or by decree of the project owner.
### Issues
### 5.1 Issues
Any new issues will be looked at and evaluated for validity of a bug or for the usefulness of a suggested feature. If we have questions about your issue we will get back as soon as we can (usually in a day or two) and will try to make a decision within a week.
### Pull Requests
### 5.2 Pull Requests
Pull requests are evaluated by their quality and how effectively they solve their corresponding issue. The process for reviewing pull requests is as follows:
1. A pull request is submitted
@@ -66,10 +138,10 @@ Pull requests are evaluated by their quality and how effectively they solve thei
4. If any feedback is given we expect a response within 1 week or we may decide to close the PR.
5. If your pull request is not vetoed and no core member requests changes then it will be approved and merged into the project.
### Differences between "new features" and "improvements"
### 5.3 Differences between "new features" and "improvements"
The difference between a new feature and improvement can be quite fuzzy and the project owner reserves all rights to decide under which category your PR falls.
At a very basic level a PR is a new feature if it changes the intended way any part of the Red project currently works or if it modifies the user experience (UX) in any significant way. Otherwise, it is likely to be considered an improvement.
# Community
# 6. Community
You can chat with the core team and other community members about issues or pull requests in the #coding channel of the Red support server located [here](https://discord.gg/red).
+25
View File
@@ -0,0 +1,25 @@
# Command bugs
<!--
Did you find a bug with a command? Fill out the following:
-->
#### Command name
<!-- Replace this line with the name of the command -->
#### What cog is this command from?
<!-- Replace this line with the name of the cog -->
#### What were you expecting to happen?
<!-- Replace this line with a description of what you were expecting to happen -->
#### What actually happened?
<!-- Replace this line with a description of what actually happened. Include any error messages -->
#### How can we reproduce this issue?
<!-- Replace with numbered steps to reproduce the issue -->
+35
View File
@@ -0,0 +1,35 @@
# Feature request
<!-- This template is for feature requests. Please fill out the following: -->
#### Select the type of feature you are requesting:
<!-- To check a box, replace the space between the [] with a x -->
- [ ] Cog
- [ ] Command
- [ ] API functionality
#### Describe your requested feature
<!--
Feel free to describe in as much detail as you wish.
If you are requesting a cog to be included in core:
- Describe the functionality in as much detail as possible
- Include the command structure, if possible
- Please note that unless it's something that should be core functionality,
we reserve the right to reject your suggestion and point you to our cog
board to request it for a third-party cog
If you are requesting a command:
- Include what cog it should be in and a name for the command
- Describe the intended functionality for the command
- Note any restrictions on who can use the command or where it can be used
If you are requesting API functionality:
- Describe what it should do
- Note whether it is to extend existing functionality or introduce new functionality
-->
+21
View File
@@ -0,0 +1,21 @@
# Other bugs
<!--
Did you find a bug with something other than a command? Fill out the following:
-->
#### What were you trying to do?
<!-- Replace this line with a description of what you were trying to do -->
#### What were you expecting to happen?
<!-- Replace this line with a description of what you were expecting to happen -->
#### What actually happened?
<!-- Replace this line with a description of what actually happened. Include any error messages -->
#### How can we reproduce this issue?
<!-- Replace with numbered steps to reproduce the issue -->
+14
View File
@@ -0,0 +1,14 @@
# Bugfix request
<!--
To be used for pull requests that fix a bug
-->
#### Describe the bug being fixed
<!--
If an issue exists for the bug, mention
that this PR fixes that issue
-->
#### Anything we need to know about this fix?
@@ -0,0 +1,20 @@
# Enhancement request
<!--
To be used for PRs which enhance existing features
-->
#### Describe the enhancement
<!--
Describe what your changes do.
If adding commands, describe any restrictions on their usage.
- For example, who can use the command? Where can it be used?
-->
#### Does this enhancement break existing functionality?
<!-- To check a box, replace the space between the [] with a x -->
- [ ] Yes
- [ ] No
@@ -0,0 +1,21 @@
# New feature addition
<!--
To be used for PRs which add a new feature
Examples of this include new APIs, new core cogs, etc.
-->
#### What type of feature is this?
<!-- To check a box, replace the space between the [] with a x -->
- [ ] New core cog
- [ ] New API
- [ ] Other
#### Describe the feature
<!--
If you are adding a cog, describe its commands in detail (functionality, usage restrictions, etc).
If the new feature introduces new requirements, please try to explain why they are necessary.
-->
+16
View File
@@ -0,0 +1,16 @@
# New release
<!--
To be used by collaborators for doing releases.
Most contributors will not need to use this.
-->
#### Version
#### Has a draft release been created for this?
- [ ] Yes
- [ ] No
@@ -0,0 +1,5 @@
# Translations update
<!--
Used for PRs updating translations from Crowdin
-->
+134 -6
View File
@@ -1,8 +1,136 @@
*.json
*.pyc
__pycache__
data
!data/trivia/*
!data/audio/playlists/*
*.exe
*.dll
*.dll
*.pot
.data
!/tests/cogs/dataconverter/data/**/*.json
### JetBrains template
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and Webstorm
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
# User-specific stuff:
.idea/
*.iws
## Plugin-specific files:
# IntelliJ
out/
# mpeltonen/sbt-idea plugin
.idea_modules/
# JIRA plugin
atlassian-ide-plugin.xml
# Cursive Clojure plugin
.idea/replstate.xml
# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties
fabric.properties
### Python template
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class
# C extensions
*.so
# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
*.egg-info/
.installed.cfg
*.egg
# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec
# Installer logs
pip-log.txt
pip-delete-this-directory.txt
# Unit test / coverage reports
htmlcov/
.tox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
.hypothesis/
# Translations
*.mo
# Django stuff:
*.log
local_settings.py
# Flask stuff:
instance/
.webassets-cache
# Scrapy stuff:
.scrapy
# Sphinx documentation
docs/_build/
# PyBuilder
target/
# Jupyter Notebook
.ipynb_checkpoints
# pyenv
.python-version
# celery beat schedule file
celerybeat-schedule
# SageMath parsed files
*.sage.py
# Environments
.env
.venv
env/
venv/
ENV/
# Spyder project settings
.spyderproject
.spyproject
# Rope project settings
.ropeproject
# mkdocs documentation
/site
# mypy
.mypy_cache/
# pytest
.pytest_cache/
+12
View File
@@ -0,0 +1,12 @@
formats:
- pdf
build:
image: latest
python:
version: 3.6
pip_install: true
extra_requirements:
- docs
- mongo
+63 -8
View File
@@ -1,12 +1,67 @@
dist: xenial
language: python
python:
- "3.5.2"
install:
- pip install -r requirements.txt
script:
- python -m compileall ./red.py
- python -m compileall ./cogs
- python ./red.py --no-prompt --no-cogs --dry-run
cache: pip
notifications:
email: false
sudo: true
python:
- 3.6.6
- 3.7
env:
global:
PIPENV_IGNORE_VIRTUALENVS=1
matrix:
TOXENV=py
install:
- pip install --upgrade pip tox
script:
- tox
jobs:
include:
- python: 3.6.6
env: TOXENV=docs
- python: 3.6.6
env: TOXENV=style
# These jobs only occur on tag creation if the prior ones succeed
- stage: PyPi Deployment
if: tag IS present
python: 3.6.6
env:
- DEPLOYING=true
- TOXENV=py36
deploy:
- provider: pypi
user: Red-DiscordBot
password:
secure: Ty9vYnd/wCuQkVC/OsS4E2jT9LVDVfzsFrQc4U2hMYcTJnYbl/3omyObdCWCOBC40vUDkVHAQU8ULHzoCA+2KX9Ds/7/P5zCumAA0uJRR9Smw7OlRzSMxJI+/lGq4CwXKzxDZKuo5rsxXEbW5qmYjtO8Mk6KuLkvieb1vyr2DcqWEFzg/7TZNDfD1oP8et8ITQ26lLP1dtQx/jlAiIBzgK9wziuwj1Divb9A///VsGz43N8maZ+jfsDjYqrfUVWTy3ar7JPUplletenYCR1PmQ5C46XfV0kitKd1aITJ48YPAKyYgKy8AIT+Uz1JArTnqdzLSFRNELS57qS00lzgllbteCyWQ8Uzy0Zpxb/5DDH8/mL1n0MyJrF8qjZd2hLNAXg3z/k9bGXeiMLGwoxRlGXkL2XpiVgI93UKKyVyooGNMgPTc/QdSc7krjAWcOtX/HgLR34jxeLPFEdzJNAFIimfDD8N+XTFcNBw6EvOYm/n5MXkckNoX/G+ThNobHZ7VKSASltZ9zBRAJ2dDh35G3CYmVEk33U77RKbL9le/Za9QVBcAO8i6rqVGYkdO7thHHKHc/1CB1jNnjsFSDt0bURtNfAqfwKCurQC8487zbEzT+2fog3Wygv7g3cklaRg4guY8UjZuFWStYGqbroTsOCd9ATNqeO5B13pNhllSzU=
skip_cleanup: true
on:
repo: Cog-Creators/Red-DiscordBot
python: 3.6.6
tags: true
- stage: Crowdin Deployment
if: tag IS present
python: 3.6.6
env:
- DEPLOYING=true
- TOXENV=py36
before_deploy:
- curl https://artifacts.crowdin.com/repo/GPG-KEY-crowdin | sudo apt-key add -
- echo "deb https://artifacts.crowdin.com/repo/deb/ /" | sudo tee -a /etc/apt/sources.list
- sudo apt-get update -qq
- sudo apt-get install -y crowdin
- pip install redgettext==2.2
deploy:
- provider: script
script: make gettext
skip_cleanup: true
on:
repo: Cog-Creators/Red-DiscordBot
python: 3.6.6
tags: true
+2 -2
View File
@@ -632,7 +632,7 @@ state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
Red - A fully customizable Discord bot
Copyright (C) 2015-2018 Twentysix
Copyright (C) 2015-2019 Twentysix
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -652,7 +652,7 @@ Also add information on how to contact you by electronic and paper mail.
If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode:
Red-DiscordBot Copyright (C) 2015-2018 Twentysix
Red-DiscordBot Copyright (C) 2015-2019 Twentysix
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
+13
View File
@@ -0,0 +1,13 @@
reformat:
black -l 99 -N `git ls-files "*.py"`
stylecheck:
black --check -l 99 -N `git ls-files "*.py"`
gettext:
redgettext --command-docstrings --verbose --recursive redbot --exclude-files "redbot/pytest/**/*"
crowdin upload
REF?=rewrite
update_vendor:
pip install --upgrade --no-deps -t . https://github.com/Rapptz/discord.py/archive/$(REF).tar.gz#egg=discord.py
rm -r discord.py*-info
$(MAKE) reformat
+11
View File
@@ -0,0 +1,11 @@
[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"
[packages]
red-discordbot = {path = ".",editable = true,extras = ['mongo', 'voice']}
[dev-packages]
tox = "*"
red-discordbot = {path = ".",editable = true,extras = ['docs', 'test', 'style']}
Generated
+841
View File
@@ -0,0 +1,841 @@
{
"_meta": {
"hash": {
"sha256": "b9f385e4c53c659dd76e8722d1fb69c244d3a76e4b0dfc40956ff2493277c1f6"
},
"pipfile-spec": 6,
"requires": {},
"sources": [
{
"name": "pypi",
"url": "https://pypi.org/simple",
"verify_ssl": true
}
]
},
"default": {
"aiohttp": {
"hashes": [
"sha256:00d198585474299c9c3b4f1d5de1a576cc230d562abc5e4a0e81d71a20a6ca55",
"sha256:0155af66de8c21b8dba4992aaeeabf55503caefae00067a3b1139f86d0ec50ed",
"sha256:09654a9eca62d1bd6d64aa44db2498f60a5c1e0ac4750953fdd79d5c88955e10",
"sha256:199f1d106e2b44b6dacdf6f9245493c7d716b01d0b7fbe1959318ba4dc64d1f5",
"sha256:296f30dedc9f4b9e7a301e5cc963012264112d78a1d3094cd83ef148fdf33ca1",
"sha256:368ed312550bd663ce84dc4b032a962fcb3c7cae099dbbd48663afc305e3b939",
"sha256:40d7ea570b88db017c51392349cf99b7aefaaddd19d2c78368aeb0bddde9d390",
"sha256:629102a193162e37102c50713e2e31dc9a2fe7ac5e481da83e5bb3c0cee700aa",
"sha256:6d5ec9b8948c3d957e75ea14d41e9330e1ac3fed24ec53766c780f82805140dc",
"sha256:87331d1d6810214085a50749160196391a712a13336cd02ce1c3ea3d05bcf8d5",
"sha256:9a02a04bbe581c8605ac423ba3a74999ec9d8bce7ae37977a3d38680f5780b6d",
"sha256:9c4c83f4fa1938377da32bc2d59379025ceeee8e24b89f72fcbccd8ca22dc9bf",
"sha256:9cddaff94c0135ee627213ac6ca6d05724bfe6e7a356e5e09ec57bd3249510f6",
"sha256:a25237abf327530d9561ef751eef9511ab56fd9431023ca6f4803f1994104d72",
"sha256:a5cbd7157b0e383738b8e29d6e556fde8726823dae0e348952a61742b21aeb12",
"sha256:a97a516e02b726e089cffcde2eea0d3258450389bbac48cbe89e0f0b6e7b0366",
"sha256:acc89b29b5f4e2332d65cd1b7d10c609a75b88ef8925d487a611ca788432dfa4",
"sha256:b05bd85cc99b06740aad3629c2585bda7b83bd86e080b44ba47faf905fdf1300",
"sha256:c2bec436a2b5dafe5eaeb297c03711074d46b6eb236d002c13c42f25c4a8ce9d",
"sha256:cc619d974c8c11fe84527e4b5e1c07238799a8c29ea1c1285149170524ba9303",
"sha256:d4392defd4648badaa42b3e101080ae3313e8f4787cb517efd3f5b8157eaefd6",
"sha256:e1c3c582ee11af7f63a34a46f0448fca58e59889396ffdae1f482085061a2889"
],
"version": "==3.5.4"
},
"aiohttp-json-rpc": {
"hashes": [
"sha256:1d040b7b10ff414f9174398ff6e9c647eb0434a00939450b33aa539177c51dcf",
"sha256:5f5fb141c6263d2ea52a4173babe9449eef4029620dc49936dca45cdc17ac9dd"
],
"version": "==0.12"
},
"appdirs": {
"hashes": [
"sha256:9e5896d1372858f8dd3344faf4e5014d21849c756c8d5701f78f8a103b372d92",
"sha256:d8b24664561d0d34ddfaec54636d502d7cea6e29c3eaf68f3df6180863e2166e"
],
"version": "==1.4.3"
},
"async-timeout": {
"hashes": [
"sha256:0c3c816a028d47f659d6ff5c745cb2acf1f966da1fe5c19c77a70282b25f4c5f",
"sha256:4291ca197d287d274d0b6cb5d6f8f8f82d434ed288f962539ff18cc9012f9ea3"
],
"version": "==3.0.1"
},
"attrs": {
"hashes": [
"sha256:10cbf6e27dbce8c30807caf056c8eb50917e0eaafe86347671b57254006c3e69",
"sha256:ca4be454458f9dec299268d472aaa5a11f67a4ff70093396e1ceae9c76cf4bbb"
],
"version": "==18.2.0"
},
"chardet": {
"hashes": [
"sha256:84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae",
"sha256:fc323ffcaeaed0e0a02bf4d117757b98aed530d9ed4531e3e15460124c106691"
],
"version": "==3.0.4"
},
"colorama": {
"hashes": [
"sha256:05eed71e2e327246ad6b38c540c4a3117230b19679b875190486ddd2d721422d",
"sha256:f8ac84de7840f5b9c4e3347b3c1eaa50f7e49c2b07596221daec5edaabbd7c48"
],
"version": "==0.4.1"
},
"distro": {
"hashes": [
"sha256:362dde65d846d23baee4b5c058c8586f219b5a54be1cf5fc6ff55c4578392f57",
"sha256:eedf82a470ebe7d010f1872c17237c79ab04097948800029994fa458e52fb4b4"
],
"version": "==1.4.0"
},
"dnspython": {
"hashes": [
"sha256:36c5e8e38d4369a08b6780b7f27d790a292b2b08eea01607865bf0936c558e01",
"sha256:f69c21288a962f4da86e56c4905b49d11aba7938d3d740e80d9e366ee4f1632d"
],
"version": "==1.16.0"
},
"fuzzywuzzy": {
"hashes": [
"sha256:5ac7c0b3f4658d2743aa17da53a55598144edbc5bee3c6863840636e6926f254",
"sha256:6f49de47db00e1c71d40ad16da42284ac357936fa9b66bea1df63fed07122d62"
],
"version": "==0.17.0"
},
"idna": {
"hashes": [
"sha256:c357b3f628cf53ae2c4c05627ecc484553142ca23264e593d327bcde5e9c3407",
"sha256:ea8b7f6188e6fa117537c3df7da9fc686d485087abf6ac197f9c46432f7e4a3c"
],
"version": "==2.8"
},
"idna-ssl": {
"hashes": [
"sha256:a933e3bb13da54383f9e8f35dc4f9cb9eb9b3b78c6b36f311254d6d0d92c6c7c"
],
"version": "==1.1.0"
},
"motor": {
"hashes": [
"sha256:462fbb824f4289481c158227a2579d6adaf1ec7c70cf7ebe60ed6ceb321e5869",
"sha256:d035c09ab422bc50bf3efb134f7405694cae76268545bd21e14fb22e2638f84e"
],
"version": "==2.0.0"
},
"multidict": {
"hashes": [
"sha256:024b8129695a952ebd93373e45b5d341dbb87c17ce49637b34000093f243dd4f",
"sha256:041e9442b11409be5e4fc8b6a97e4bcead758ab1e11768d1e69160bdde18acc3",
"sha256:045b4dd0e5f6121e6f314d81759abd2c257db4634260abcfe0d3f7083c4908ef",
"sha256:047c0a04e382ef8bd74b0de01407e8d8632d7d1b4db6f2561106af812a68741b",
"sha256:068167c2d7bbeebd359665ac4fff756be5ffac9cda02375b5c5a7c4777038e73",
"sha256:148ff60e0fffa2f5fad2eb25aae7bef23d8f3b8bdaf947a65cdbe84a978092bc",
"sha256:1d1c77013a259971a72ddaa83b9f42c80a93ff12df6a4723be99d858fa30bee3",
"sha256:1d48bc124a6b7a55006d97917f695effa9725d05abe8ee78fd60d6588b8344cd",
"sha256:31dfa2fc323097f8ad7acd41aa38d7c614dd1960ac6681745b6da124093dc351",
"sha256:34f82db7f80c49f38b032c5abb605c458bac997a6c3142e0d6c130be6fb2b941",
"sha256:3d5dd8e5998fb4ace04789d1d008e2bb532de501218519d70bb672c4c5a2fc5d",
"sha256:4a6ae52bd3ee41ee0f3acf4c60ceb3f44e0e3bc52ab7da1c2b2aa6703363a3d1",
"sha256:4b02a3b2a2f01d0490dd39321c74273fed0568568ea0e7ea23e02bd1fb10a10b",
"sha256:4b843f8e1dd6a3195679d9838eb4670222e8b8d01bc36c9894d6c3538316fa0a",
"sha256:5de53a28f40ef3c4fd57aeab6b590c2c663de87a5af76136ced519923d3efbb3",
"sha256:61b2b33ede821b94fa99ce0b09c9ece049c7067a33b279f343adfe35108a4ea7",
"sha256:6a3a9b0f45fd75dc05d8e93dc21b18fc1670135ec9544d1ad4acbcf6b86781d0",
"sha256:76ad8e4c69dadbb31bad17c16baee61c0d1a4a73bed2590b741b2e1a46d3edd0",
"sha256:7ba19b777dc00194d1b473180d4ca89a054dd18de27d0ee2e42a103ec9b7d014",
"sha256:7c1b7eab7a49aa96f3db1f716f0113a8a2e93c7375dd3d5d21c4941f1405c9c5",
"sha256:7fc0eee3046041387cbace9314926aa48b681202f8897f8bff3809967a049036",
"sha256:8ccd1c5fff1aa1427100ce188557fc31f1e0a383ad8ec42c559aabd4ff08802d",
"sha256:8e08dd76de80539d613654915a2f5196dbccc67448df291e69a88712ea21e24a",
"sha256:c18498c50c59263841862ea0501da9f2b3659c00db54abfbf823a80787fde8ce",
"sha256:c49db89d602c24928e68c0d510f4fcf8989d77defd01c973d6cbe27e684833b1",
"sha256:ce20044d0317649ddbb4e54dab3c1bcc7483c78c27d3f58ab3d0c7e6bc60d26a",
"sha256:d1071414dd06ca2eafa90c85a079169bfeb0e5f57fd0b45d44c092546fcd6fd9",
"sha256:d3be11ac43ab1a3e979dac80843b42226d5d3cccd3986f2e03152720a4297cd7",
"sha256:db603a1c235d110c860d5f39988ebc8218ee028f07a7cbc056ba6424372ca31b"
],
"version": "==4.5.2"
},
"pymongo": {
"hashes": [
"sha256:025f94fc1e1364f00e50badc88c47f98af20012f23317234e51a11333ef986e6",
"sha256:02aa7fb282606331aefbc0586e2cf540e9dbe5e343493295e7f390936ad2738e",
"sha256:057210e831573e932702cf332012ed39da78edf0f02d24a3f0b213264a87a397",
"sha256:0d946b79c56187fe139276d4c8ed612a27a616966c8b9779d6b79e2053587c8b",
"sha256:104790893b928d310aae8a955e0bdbaa442fb0ac0a33d1bbb0741c791a407778",
"sha256:15527ef218d95a8717486106553b0d54ff2641e795b65668754e17ab9ca6e381",
"sha256:1826527a0b032f6e20e7ac7f72d7c26dd476a5e5aa82c04aa1c7088a59fded7d",
"sha256:22e3aa4ce1c3eebc7f70f9ca7fd4ce1ea33e8bdb7b61996806cd312f08f84a3a",
"sha256:244e1101e9a48615b9a16cbd194f73c115fdfefc96894803158608115f703b26",
"sha256:24b8c04fdb633a84829d03909752c385faef249c06114cc8d8e1700b95aae5c8",
"sha256:2c276696350785d3104412cbe3ac70ab1e3a10c408e7b20599ee41403a3ed630",
"sha256:2d8474dc833b1182b651b184ace997a7bd83de0f51244de988d3c30e49f07de3",
"sha256:3119b57fe1d964781e91a53e81532c85ed1701baaddec592e22f6b77a9fdf3df",
"sha256:3bee8e7e0709b0fcdaa498a3e513bde9ffc7cd09dbceb11e425bd91c89dbd5b6",
"sha256:436c071e01a464753d30dbfc8768dd93aecf2a8e378e5314d130b95e77b4d612",
"sha256:46635e3f19ad04d5a7d7cf23d232388ddbfccf46d9a3b7436b6abadda4e84813",
"sha256:4772e0b679717e7ac4608d996f57b6f380748a919b457cb05bb941467b888b22",
"sha256:4e2cd80e16f481a62c3175b607373200e714ed29025f21559ebf7524f295689f",
"sha256:52732960efa0e003ca1c092dc0a3c65276e897681287a788a01ca78dda3b41f0",
"sha256:55a7de51ec7d1731b2431886d0349146645f2816e5b8eb982d7c49f89472c9f3",
"sha256:5f8ed5934197a2d4b2087646e98de3e099a237099dcf498b9e38dd3465f74ef4",
"sha256:64b064124fcbc8eb04a155117dc4d9a336e3cda3f069958fbc44fe70c3c3d1e9",
"sha256:65958b8e4319f992e85dad59d8081888b97fcdbde5f0d14bc28f2848b92d3ef1",
"sha256:7683428862e20c6a790c19e64f8ccf487f613fbc83d47e3d532df9c81668d451",
"sha256:78566d5570c75a127c2491e343dc006798a384f06be588fe9b0cbe5595711559",
"sha256:7d1cb00c093dbf1d0b16ccf123e79dee3b82608e4a2a88947695f0460eef13ff",
"sha256:8c74e2a9b594f7962c62cef7680a4cb92a96b4e6e3c2f970790da67cc0213a7e",
"sha256:8e60aa7699170f55f4b0f56ee6f8415229777ac7e4b4b1aa41fc61eec08c1f1d",
"sha256:9447b561529576d89d3bf973e5241a88cf76e45bd101963f5236888713dea774",
"sha256:970055bfeb0be373f2f5299a3db8432444bad3bc2f198753ee6c2a3a781e0959",
"sha256:a6344b8542e584e140dc3c651d68bde51270e79490aa9320f9e708f9b2c39bd5",
"sha256:ce309ca470d747b02ba6069d286a17b7df8e9c94d10d727d9cf3a64e51d85184",
"sha256:cfbd86ed4c2b2ac71bbdbcea6669bf295def7152e3722ddd9dda94ac7981f33d",
"sha256:d7929c513732dff093481f4a0954ed5ff16816365842136b17caa0b4992e49d3"
],
"version": "==3.7.2"
},
"python-levenshtein-wheels": {
"hashes": [
"sha256:0065529c8aec4c044468286177761857d36981ba6f7fdb62d7d5f7ffd143de5d",
"sha256:016924a59d689f9f47d5f7b26b70f31e309255e8dd72602c91e93ceb752b9f92",
"sha256:089d046ea7727e583233c71fef1046663ed67b96967063ae8ddc9f551e86a4fc",
"sha256:0aea217eab612acd45dcc3424a2e8dbd977cc309f80359d0c01971f1e65b9a9b",
"sha256:0beb91ad80b1573829066e5af36b80190c367be6e0a65292f073353b0388c7fc",
"sha256:0fa2ca69ef803bc6037a8c919e2e8a17b55e94c9c9ffcb4c21befbb15a1d0f40",
"sha256:11c77d0d74ab7f46f89a58ae9c2d67349ebc1ae3e18636627f9939d810167c31",
"sha256:19a68716a322486ddffc8bf7e5cf44a82f7700b05a10658e6e7fc5c7ae92b13d",
"sha256:19a95a01d28d63b042438ba860c4ace90362906a038fa77962ba33325d377d10",
"sha256:1a61f3a51e00a3608659bbaabb3f27af37c9dbe84d843369061a3e45cf0d5103",
"sha256:1c50aebebab403fb2dd415d70355446ac364dece502b0e2737a1a085bb9a4aa4",
"sha256:1e51cdc123625a28709662d24ea0cb4cf6f991845e6054d9f803c78da1d6b08f",
"sha256:1f0056d3216b0fe38f25c6f8ebc84bd9f6d34c55a7a9414341b674fb98961399",
"sha256:228b59460e9a786e498bdfc8011838b89c6054650b115c86c9c819a055a793b0",
"sha256:23020f9ff2cb3457a926dcc470b84f9bd5b7646bd8b8e06b915bdbbc905cb23f",
"sha256:3e6bcca97a7ff4e720352b57ddc26380c0583dcdd4b791acef7b574ad58468a7",
"sha256:3ed88f9e638da57647149115c34e0e120cae6f3d35eee7d77e22cc9c1d8eced3",
"sha256:445bf7941cb1fa05d6c2a4a502ad4868a5cacd92e8eb77b2bd008cdda9d37c55",
"sha256:4ba5e147d76d7ee884fd6eae461438b080bcc9f2c6eb9b576811e1bcfe8f808e",
"sha256:4bb128b719c30f3b9feacfe71a338ae07d39dbffc077139416f3535c89f12362",
"sha256:53c0c9964390368fd64460b690f168221c669766b193b7e80ae3950c2b9551f8",
"sha256:57c4edef81611098d37176278f2b6a3712bf864eed313496d7d80504805896d1",
"sha256:7f7283dfe50eac8a8cd9b777de9eb50b1edf7dbb46fc7cc9d9b0050d0c135021",
"sha256:7f9759095b3fc825464a72b1cae95125e610eba3c70f91557754c32a0bf32ea2",
"sha256:98727050ba70eb8d318ec8a8203531c20119347fc8f281102b097326812742ab",
"sha256:ac9cdf044dcb9481c7da782db01b50c1f0e7cdd78c8507b963b6d072829c0263",
"sha256:b679f951f842c38665aa54bea4d7403099131f71fac6d8584f893a731fe1266d",
"sha256:b8c183dc4aa4e95dc5c373eedc3d205c176805835611fcfec5d9050736c695c4",
"sha256:c2c76f483d05eddec60a5cd89e92385adef565a4f243b1d9a6abe2f6bd2a7c0a",
"sha256:c388baa3c04272a7c585d3da24030c142353eb26eb531dd2681502e6be7d7a26",
"sha256:cb0f2a711db665b5bf8697b5af3b9884bb1139385c5c12c2e472e4bbee62da99",
"sha256:cbac984d7b36e75b440d1c8ff9d3425d778364a0cbc23f8943383d4decd35d5e",
"sha256:f9084ed3b8997ad4353d124b903f2860a9695b9e080663276d9e58c32e293244"
],
"version": "==0.13.1"
},
"pyyaml": {
"hashes": [
"sha256:3d7da3009c0f3e783b2c873687652d83b1bbfd5c88e9813fb7e5b03c0dd3108b",
"sha256:3ef3092145e9b70e3ddd2c7ad59bdd0252a94dfe3949721633e41344de00a6bf",
"sha256:40c71b8e076d0550b2e6380bada1f1cd1017b882f7e16f09a65be98e017f211a",
"sha256:558dd60b890ba8fd982e05941927a3911dc409a63dcb8b634feaa0cda69330d3",
"sha256:a7c28b45d9f99102fa092bb213aa12e0aaf9a6a1f5e395d36166639c1f96c3a1",
"sha256:aa7dd4a6a427aed7df6fb7f08a580d68d9b118d90310374716ae90b710280af1",
"sha256:bc558586e6045763782014934bfaf39d48b8ae85a2713117d16c39864085c613",
"sha256:d46d7982b62e0729ad0175a9bc7e10a566fc07b224d2c79fafb5e032727eaa04",
"sha256:d5eef459e30b09f5a098b9cea68bebfeb268697f78d647bd255a085371ac7f3f",
"sha256:e01d3203230e1786cd91ccfdc8f8454c8069c91bee3962ad93b87a4b2860f537",
"sha256:e170a9e6fcfd19021dd29845af83bb79236068bf5fd4df3327c1be18182b2531"
],
"version": "==3.13"
},
"raven": {
"hashes": [
"sha256:3fa6de6efa2493a7c827472e984ce9b020797d0da16f1db67197bcc23c8fae54",
"sha256:44a13f87670836e153951af9a3c80405d36b43097db869a36e92809673692ce4"
],
"version": "==6.10.0"
},
"raven-aiohttp": {
"hashes": [
"sha256:1444a49c93a85b8bb57c6ee649e512368dce7a26ad64ac3a01d86aa5669d77f3",
"sha256:6a34b6a9841ad0fd827eeb158edb5826c5c5bd7babe2cde2a3f23eb85313af04"
],
"version": "==0.7.0"
},
"red-discordbot": {
"editable": true,
"extras": [
"mongo",
"voice"
],
"path": "."
},
"red-lavalink": {
"hashes": [
"sha256:13e1a3f91b990be9582cba039d9a32ec4cef760da1e7e6952143116ec83d4302",
"sha256:3dd0d73b4a908bbe9cfb703d2563dad1d1a58f8eea5896a0dacdf37d54a39d9c"
],
"version": "==0.2.3"
},
"schema": {
"hashes": [
"sha256:d994b0dc4966000037b26898df638e3e2a694cc73636cb2050e652614a350687",
"sha256:fa1a53fe5f3b6929725a4e81688c250f46838e25d8c1885a10a590c8c01a7b74"
],
"version": "==0.6.8"
},
"websockets": {
"hashes": [
"sha256:04b42a1b57096ffa5627d6a78ea1ff7fad3bc2c0331ffc17bc32a4024da7fea0",
"sha256:08e3c3e0535befa4f0c4443824496c03ecc25062debbcf895874f8a0b4c97c9f",
"sha256:10d89d4326045bf5e15e83e9867c85d686b612822e4d8f149cf4840aab5f46e0",
"sha256:232fac8a1978fc1dead4b1c2fa27c7756750fb393eb4ac52f6bc87ba7242b2fa",
"sha256:4bf4c8097440eff22bc78ec76fe2a865a6e658b6977a504679aaf08f02c121da",
"sha256:51642ea3a00772d1e48fb0c492f0d3ae3b6474f34d20eca005a83f8c9c06c561",
"sha256:55d86102282a636e195dad68aaaf85b81d0bef449d7e2ef2ff79ac450bb25d53",
"sha256:564d2675682bd497b59907d2205031acbf7d3fadf8c763b689b9ede20300b215",
"sha256:5d13bf5197a92149dc0badcc2b699267ff65a867029f465accfca8abab95f412",
"sha256:5eda665f6789edb9b57b57a159b9c55482cbe5b046d7db458948370554b16439",
"sha256:5edb2524d4032be4564c65dc4f9d01e79fe8fad5f966e5b552f4e5164fef0885",
"sha256:79691794288bc51e2a3b8de2bc0272ca8355d0b8503077ea57c0716e840ebaef",
"sha256:7fcc8681e9981b9b511cdee7c580d5b005f3bb86b65bde2188e04a29f1d63317",
"sha256:8e447e05ec88b1b408a4c9cde85aa6f4b04f06aa874b9f0b8e8319faf51b1fee",
"sha256:90ea6b3e7787620bb295a4ae050d2811c807d65b1486749414f78cfd6fb61489",
"sha256:9e13239952694b8b831088431d15f771beace10edfcf9ef230cefea14f18508f",
"sha256:d40f081187f7b54d7a99d8a5c782eaa4edc335a057aa54c85059272ed826dc09",
"sha256:e1df1a58ed2468c7b7ce9a2f9752a32ad08eac2bcd56318625c3647c2cd2da6f",
"sha256:e98d0cec437097f09c7834a11c69d79fe6241729b23f656cfc227e93294fc242",
"sha256:f8d59627702d2ff27cb495ca1abdea8bd8d581de425c56e93bff6517134e0a9b",
"sha256:fc30cdf2e949a2225b012a7911d1d031df3d23e99b7eda7dfc982dc4a860dae9"
],
"version": "==7.0"
},
"yarl": {
"hashes": [
"sha256:024ecdc12bc02b321bc66b41327f930d1c2c543fa9a561b39861da9388ba7aa9",
"sha256:2f3010703295fbe1aec51023740871e64bb9664c789cba5a6bdf404e93f7568f",
"sha256:3890ab952d508523ef4881457c4099056546593fa05e93da84c7250516e632eb",
"sha256:3e2724eb9af5dc41648e5bb304fcf4891adc33258c6e14e2a7414ea32541e320",
"sha256:5badb97dd0abf26623a9982cd448ff12cb39b8e4c94032ccdedf22ce01a64842",
"sha256:73f447d11b530d860ca1e6b582f947688286ad16ca42256413083d13f260b7a0",
"sha256:7ab825726f2940c16d92aaec7d204cfc34ac26c0040da727cf8ba87255a33829",
"sha256:b25de84a8c20540531526dfbb0e2d2b648c13fd5dd126728c496d7c3fea33310",
"sha256:c6e341f5a6562af74ba55205dbd56d248daf1b5748ec48a0200ba227bb9e33f4",
"sha256:c9bb7c249c4432cd47e75af3864bc02d26c9594f49c82e2a28624417f0ae63b8",
"sha256:e060906c0c585565c718d1c3841747b61c5439af2211e185f6739a9412dfbde1"
],
"version": "==1.3.0"
}
},
"develop": {
"aiohttp": {
"hashes": [
"sha256:00d198585474299c9c3b4f1d5de1a576cc230d562abc5e4a0e81d71a20a6ca55",
"sha256:0155af66de8c21b8dba4992aaeeabf55503caefae00067a3b1139f86d0ec50ed",
"sha256:09654a9eca62d1bd6d64aa44db2498f60a5c1e0ac4750953fdd79d5c88955e10",
"sha256:199f1d106e2b44b6dacdf6f9245493c7d716b01d0b7fbe1959318ba4dc64d1f5",
"sha256:296f30dedc9f4b9e7a301e5cc963012264112d78a1d3094cd83ef148fdf33ca1",
"sha256:368ed312550bd663ce84dc4b032a962fcb3c7cae099dbbd48663afc305e3b939",
"sha256:40d7ea570b88db017c51392349cf99b7aefaaddd19d2c78368aeb0bddde9d390",
"sha256:629102a193162e37102c50713e2e31dc9a2fe7ac5e481da83e5bb3c0cee700aa",
"sha256:6d5ec9b8948c3d957e75ea14d41e9330e1ac3fed24ec53766c780f82805140dc",
"sha256:87331d1d6810214085a50749160196391a712a13336cd02ce1c3ea3d05bcf8d5",
"sha256:9a02a04bbe581c8605ac423ba3a74999ec9d8bce7ae37977a3d38680f5780b6d",
"sha256:9c4c83f4fa1938377da32bc2d59379025ceeee8e24b89f72fcbccd8ca22dc9bf",
"sha256:9cddaff94c0135ee627213ac6ca6d05724bfe6e7a356e5e09ec57bd3249510f6",
"sha256:a25237abf327530d9561ef751eef9511ab56fd9431023ca6f4803f1994104d72",
"sha256:a5cbd7157b0e383738b8e29d6e556fde8726823dae0e348952a61742b21aeb12",
"sha256:a97a516e02b726e089cffcde2eea0d3258450389bbac48cbe89e0f0b6e7b0366",
"sha256:acc89b29b5f4e2332d65cd1b7d10c609a75b88ef8925d487a611ca788432dfa4",
"sha256:b05bd85cc99b06740aad3629c2585bda7b83bd86e080b44ba47faf905fdf1300",
"sha256:c2bec436a2b5dafe5eaeb297c03711074d46b6eb236d002c13c42f25c4a8ce9d",
"sha256:cc619d974c8c11fe84527e4b5e1c07238799a8c29ea1c1285149170524ba9303",
"sha256:d4392defd4648badaa42b3e101080ae3313e8f4787cb517efd3f5b8157eaefd6",
"sha256:e1c3c582ee11af7f63a34a46f0448fca58e59889396ffdae1f482085061a2889"
],
"version": "==3.5.4"
},
"aiohttp-json-rpc": {
"hashes": [
"sha256:1d040b7b10ff414f9174398ff6e9c647eb0434a00939450b33aa539177c51dcf",
"sha256:5f5fb141c6263d2ea52a4173babe9449eef4029620dc49936dca45cdc17ac9dd"
],
"version": "==0.12"
},
"alabaster": {
"hashes": [
"sha256:446438bdcca0e05bd45ea2de1668c1d9b032e1a9154c2c259092d77031ddd359",
"sha256:a661d72d58e6ea8a57f7a86e37d86716863ee5e92788398526d58b26a4e4dc02"
],
"version": "==0.7.12"
},
"appdirs": {
"hashes": [
"sha256:9e5896d1372858f8dd3344faf4e5014d21849c756c8d5701f78f8a103b372d92",
"sha256:d8b24664561d0d34ddfaec54636d502d7cea6e29c3eaf68f3df6180863e2166e"
],
"version": "==1.4.3"
},
"async-timeout": {
"hashes": [
"sha256:0c3c816a028d47f659d6ff5c745cb2acf1f966da1fe5c19c77a70282b25f4c5f",
"sha256:4291ca197d287d274d0b6cb5d6f8f8f82d434ed288f962539ff18cc9012f9ea3"
],
"version": "==3.0.1"
},
"atomicwrites": {
"hashes": [
"sha256:03472c30eb2c5d1ba9227e4c2ca66ab8287fbfbbda3888aa93dc2e28fc6811b4",
"sha256:75a9445bac02d8d058d5e1fe689654ba5a6556a1dfd8ce6ec55a0ed79866cfa6"
],
"version": "==1.3.0"
},
"attrs": {
"hashes": [
"sha256:10cbf6e27dbce8c30807caf056c8eb50917e0eaafe86347671b57254006c3e69",
"sha256:ca4be454458f9dec299268d472aaa5a11f67a4ff70093396e1ceae9c76cf4bbb"
],
"version": "==18.2.0"
},
"babel": {
"hashes": [
"sha256:6778d85147d5d85345c14a26aada5e478ab04e39b078b0745ee6870c2b5cf669",
"sha256:8cba50f48c529ca3fa18cf81fa9403be176d374ac4d60738b839122dfaaa3d23"
],
"version": "==2.6.0"
},
"black": {
"hashes": [
"sha256:817243426042db1d36617910df579a54f1afd659adb96fc5032fcf4b36209739",
"sha256:e030a9a28f542debc08acceb273f228ac422798e5215ba2a791a6ddeaaca22a5"
],
"version": "==18.9b0"
},
"certifi": {
"hashes": [
"sha256:47f9c83ef4c0c621eaef743f133f09fa8a74a9b75f037e8624f83bd1b6626cb7",
"sha256:993f830721089fef441cdfeb4b2c8c9df86f0c63239f06bd025a76a7daddb033"
],
"version": "==2018.11.29"
},
"chardet": {
"hashes": [
"sha256:84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae",
"sha256:fc323ffcaeaed0e0a02bf4d117757b98aed530d9ed4531e3e15460124c106691"
],
"version": "==3.0.4"
},
"click": {
"hashes": [
"sha256:2335065e6395b9e67ca716de5f7526736bfa6ceead690adf616d925bdc622b13",
"sha256:5b94b49521f6456670fdb30cd82a4eca9412788a93fa6dd6df72c94d5a8ff2d7"
],
"version": "==7.0"
},
"colorama": {
"hashes": [
"sha256:05eed71e2e327246ad6b38c540c4a3117230b19679b875190486ddd2d721422d",
"sha256:f8ac84de7840f5b9c4e3347b3c1eaa50f7e49c2b07596221daec5edaabbd7c48"
],
"version": "==0.4.1"
},
"distro": {
"hashes": [
"sha256:362dde65d846d23baee4b5c058c8586f219b5a54be1cf5fc6ff55c4578392f57",
"sha256:eedf82a470ebe7d010f1872c17237c79ab04097948800029994fa458e52fb4b4"
],
"version": "==1.4.0"
},
"docutils": {
"hashes": [
"sha256:02aec4bd92ab067f6ff27a38a38a41173bf01bed8f89157768c1573f53e474a6",
"sha256:51e64ef2ebfb29cae1faa133b3710143496eca21c530f3f71424d77687764274",
"sha256:7a4bd47eaf6596e1295ecb11361139febe29b084a87bf005bf899f9a42edc3c6"
],
"version": "==0.14"
},
"filelock": {
"hashes": [
"sha256:b8d5ca5ca1c815e1574aee746650ea7301de63d87935b3463d26368b76e31633",
"sha256:d610c1bb404daf85976d7a82eb2ada120f04671007266b708606565dd03b5be6"
],
"version": "==3.0.10"
},
"fuzzywuzzy": {
"hashes": [
"sha256:5ac7c0b3f4658d2743aa17da53a55598144edbc5bee3c6863840636e6926f254",
"sha256:6f49de47db00e1c71d40ad16da42284ac357936fa9b66bea1df63fed07122d62"
],
"version": "==0.17.0"
},
"idna": {
"hashes": [
"sha256:c357b3f628cf53ae2c4c05627ecc484553142ca23264e593d327bcde5e9c3407",
"sha256:ea8b7f6188e6fa117537c3df7da9fc686d485087abf6ac197f9c46432f7e4a3c"
],
"version": "==2.8"
},
"idna-ssl": {
"hashes": [
"sha256:a933e3bb13da54383f9e8f35dc4f9cb9eb9b3b78c6b36f311254d6d0d92c6c7c"
],
"version": "==1.1.0"
},
"imagesize": {
"hashes": [
"sha256:3f349de3eb99145973fefb7dbe38554414e5c30abd0c8e4b970a7c9d09f3a1d8",
"sha256:f3832918bc3c66617f92e35f5d70729187676313caa60c187eb0f28b8fe5e3b5"
],
"version": "==1.1.0"
},
"jinja2": {
"hashes": [
"sha256:74c935a1b8bb9a3947c50a54766a969d4846290e1e788ea44c1392163723c3bd",
"sha256:f84be1bb0040caca4cea721fcbbbbd61f9be9464ca236387158b0feea01914a4"
],
"version": "==2.10"
},
"markupsafe": {
"hashes": [
"sha256:048ef924c1623740e70204aa7143ec592504045ae4429b59c30054cb31e3c432",
"sha256:130f844e7f5bdd8e9f3f42e7102ef1d49b2e6fdf0d7526df3f87281a532d8c8b",
"sha256:19f637c2ac5ae9da8bfd98cef74d64b7e1bb8a63038a3505cd182c3fac5eb4d9",
"sha256:1b8a7a87ad1b92bd887568ce54b23565f3fd7018c4180136e1cf412b405a47af",
"sha256:1c25694ca680b6919de53a4bb3bdd0602beafc63ff001fea2f2fc16ec3a11834",
"sha256:1f19ef5d3908110e1e891deefb5586aae1b49a7440db952454b4e281b41620cd",
"sha256:1fa6058938190ebe8290e5cae6c351e14e7bb44505c4a7624555ce57fbbeba0d",
"sha256:31cbb1359e8c25f9f48e156e59e2eaad51cd5242c05ed18a8de6dbe85184e4b7",
"sha256:3e835d8841ae7863f64e40e19477f7eb398674da6a47f09871673742531e6f4b",
"sha256:4e97332c9ce444b0c2c38dd22ddc61c743eb208d916e4265a2a3b575bdccb1d3",
"sha256:525396ee324ee2da82919f2ee9c9e73b012f23e7640131dd1b53a90206a0f09c",
"sha256:52b07fbc32032c21ad4ab060fec137b76eb804c4b9a1c7c7dc562549306afad2",
"sha256:52ccb45e77a1085ec5461cde794e1aa037df79f473cbc69b974e73940655c8d7",
"sha256:5c3fbebd7de20ce93103cb3183b47671f2885307df4a17a0ad56a1dd51273d36",
"sha256:5e5851969aea17660e55f6a3be00037a25b96a9b44d2083651812c99d53b14d1",
"sha256:5edfa27b2d3eefa2210fb2f5d539fbed81722b49f083b2c6566455eb7422fd7e",
"sha256:7d263e5770efddf465a9e31b78362d84d015cc894ca2c131901a4445eaa61ee1",
"sha256:83381342bfc22b3c8c06f2dd93a505413888694302de25add756254beee8449c",
"sha256:857eebb2c1dc60e4219ec8e98dfa19553dae33608237e107db9c6078b1167856",
"sha256:98e439297f78fca3a6169fd330fbe88d78b3bb72f967ad9961bcac0d7fdd1550",
"sha256:bf54103892a83c64db58125b3f2a43df6d2cb2d28889f14c78519394feb41492",
"sha256:d9ac82be533394d341b41d78aca7ed0e0f4ba5a2231602e2f05aa87f25c51672",
"sha256:e982fe07ede9fada6ff6705af70514a52beb1b2c3d25d4e873e82114cf3c5401",
"sha256:edce2ea7f3dfc981c4ddc97add8a61381d9642dc3273737e756517cc03e84dd6",
"sha256:efdc45ef1afc238db84cb4963aa689c0408912a0239b0721cb172b4016eb31d6",
"sha256:f137c02498f8b935892d5c0172560d7ab54bc45039de8805075e19079c639a9c",
"sha256:f82e347a72f955b7017a39708a3667f106e6ad4d10b25f237396a7115d8ed5fd",
"sha256:fb7c206e01ad85ce57feeaaa0bf784b97fa3cad0d4a5737bc5295785f5c613a1"
],
"version": "==1.1.0"
},
"more-itertools": {
"hashes": [
"sha256:0125e8f60e9e031347105eb1682cef932f5e97d7b9a1a28d9bf00c22a5daef40",
"sha256:590044e3942351a1bdb1de960b739ff4ce277960f2425ad4509446dbace8d9d1"
],
"version": "==6.0.0"
},
"multidict": {
"hashes": [
"sha256:024b8129695a952ebd93373e45b5d341dbb87c17ce49637b34000093f243dd4f",
"sha256:041e9442b11409be5e4fc8b6a97e4bcead758ab1e11768d1e69160bdde18acc3",
"sha256:045b4dd0e5f6121e6f314d81759abd2c257db4634260abcfe0d3f7083c4908ef",
"sha256:047c0a04e382ef8bd74b0de01407e8d8632d7d1b4db6f2561106af812a68741b",
"sha256:068167c2d7bbeebd359665ac4fff756be5ffac9cda02375b5c5a7c4777038e73",
"sha256:148ff60e0fffa2f5fad2eb25aae7bef23d8f3b8bdaf947a65cdbe84a978092bc",
"sha256:1d1c77013a259971a72ddaa83b9f42c80a93ff12df6a4723be99d858fa30bee3",
"sha256:1d48bc124a6b7a55006d97917f695effa9725d05abe8ee78fd60d6588b8344cd",
"sha256:31dfa2fc323097f8ad7acd41aa38d7c614dd1960ac6681745b6da124093dc351",
"sha256:34f82db7f80c49f38b032c5abb605c458bac997a6c3142e0d6c130be6fb2b941",
"sha256:3d5dd8e5998fb4ace04789d1d008e2bb532de501218519d70bb672c4c5a2fc5d",
"sha256:4a6ae52bd3ee41ee0f3acf4c60ceb3f44e0e3bc52ab7da1c2b2aa6703363a3d1",
"sha256:4b02a3b2a2f01d0490dd39321c74273fed0568568ea0e7ea23e02bd1fb10a10b",
"sha256:4b843f8e1dd6a3195679d9838eb4670222e8b8d01bc36c9894d6c3538316fa0a",
"sha256:5de53a28f40ef3c4fd57aeab6b590c2c663de87a5af76136ced519923d3efbb3",
"sha256:61b2b33ede821b94fa99ce0b09c9ece049c7067a33b279f343adfe35108a4ea7",
"sha256:6a3a9b0f45fd75dc05d8e93dc21b18fc1670135ec9544d1ad4acbcf6b86781d0",
"sha256:76ad8e4c69dadbb31bad17c16baee61c0d1a4a73bed2590b741b2e1a46d3edd0",
"sha256:7ba19b777dc00194d1b473180d4ca89a054dd18de27d0ee2e42a103ec9b7d014",
"sha256:7c1b7eab7a49aa96f3db1f716f0113a8a2e93c7375dd3d5d21c4941f1405c9c5",
"sha256:7fc0eee3046041387cbace9314926aa48b681202f8897f8bff3809967a049036",
"sha256:8ccd1c5fff1aa1427100ce188557fc31f1e0a383ad8ec42c559aabd4ff08802d",
"sha256:8e08dd76de80539d613654915a2f5196dbccc67448df291e69a88712ea21e24a",
"sha256:c18498c50c59263841862ea0501da9f2b3659c00db54abfbf823a80787fde8ce",
"sha256:c49db89d602c24928e68c0d510f4fcf8989d77defd01c973d6cbe27e684833b1",
"sha256:ce20044d0317649ddbb4e54dab3c1bcc7483c78c27d3f58ab3d0c7e6bc60d26a",
"sha256:d1071414dd06ca2eafa90c85a079169bfeb0e5f57fd0b45d44c092546fcd6fd9",
"sha256:d3be11ac43ab1a3e979dac80843b42226d5d3cccd3986f2e03152720a4297cd7",
"sha256:db603a1c235d110c860d5f39988ebc8218ee028f07a7cbc056ba6424372ca31b"
],
"version": "==4.5.2"
},
"packaging": {
"hashes": [
"sha256:0c98a5d0be38ed775798ece1b9727178c4469d9c3b4ada66e8e6b7849f8732af",
"sha256:9e1cbf8c12b1f1ce0bb5344b8d7ecf66a6f8a6e91bcb0c84593ed6d3ab5c4ab3"
],
"version": "==19.0"
},
"pluggy": {
"hashes": [
"sha256:8ddc32f03971bfdf900a81961a48ccf2fb677cf7715108f85295c67405798616",
"sha256:980710797ff6a041e9a73a5787804f848996ecaa6f8a1b1e08224a5894f2074a"
],
"version": "==0.8.1"
},
"py": {
"hashes": [
"sha256:bf92637198836372b520efcba9e020c330123be8ce527e535d185ed4b6f45694",
"sha256:e76826342cefe3c3d5f7e8ee4316b80d1dd8a300781612ddbc765c17ba25a6c6"
],
"version": "==1.7.0"
},
"pygments": {
"hashes": [
"sha256:5ffada19f6203563680669ee7f53b64dabbeb100eb51b61996085e99c03b284a",
"sha256:e8218dd399a61674745138520d0d4cf2621d7e032439341bc3f647bff125818d"
],
"version": "==2.3.1"
},
"pyparsing": {
"hashes": [
"sha256:66c9268862641abcac4a96ba74506e594c884e3f57690a696d21ad8210ed667a",
"sha256:f6c5ef0d7480ad048c054c37632c67fca55299990fff127850181659eea33fc3"
],
"version": "==2.3.1"
},
"pytest": {
"hashes": [
"sha256:65aeaa77ae87c7fc95de56285282546cfa9c886dc8e5dc78313db1c25e21bc07",
"sha256:6ac6d467d9f053e95aaacd79f831dbecfe730f419c6c7022cb316b365cd9199d"
],
"version": "==4.2.0"
},
"pytest-asyncio": {
"hashes": [
"sha256:9fac5100fd716cbecf6ef89233e8590a4ad61d729d1732e0a96b84182df1daaf",
"sha256:d734718e25cfc32d2bf78d346e99d33724deeba774cc4afdf491530c6184b63b"
],
"version": "==0.10.0"
},
"python-levenshtein-wheels": {
"hashes": [
"sha256:0065529c8aec4c044468286177761857d36981ba6f7fdb62d7d5f7ffd143de5d",
"sha256:016924a59d689f9f47d5f7b26b70f31e309255e8dd72602c91e93ceb752b9f92",
"sha256:089d046ea7727e583233c71fef1046663ed67b96967063ae8ddc9f551e86a4fc",
"sha256:0aea217eab612acd45dcc3424a2e8dbd977cc309f80359d0c01971f1e65b9a9b",
"sha256:0beb91ad80b1573829066e5af36b80190c367be6e0a65292f073353b0388c7fc",
"sha256:0fa2ca69ef803bc6037a8c919e2e8a17b55e94c9c9ffcb4c21befbb15a1d0f40",
"sha256:11c77d0d74ab7f46f89a58ae9c2d67349ebc1ae3e18636627f9939d810167c31",
"sha256:19a68716a322486ddffc8bf7e5cf44a82f7700b05a10658e6e7fc5c7ae92b13d",
"sha256:19a95a01d28d63b042438ba860c4ace90362906a038fa77962ba33325d377d10",
"sha256:1a61f3a51e00a3608659bbaabb3f27af37c9dbe84d843369061a3e45cf0d5103",
"sha256:1c50aebebab403fb2dd415d70355446ac364dece502b0e2737a1a085bb9a4aa4",
"sha256:1e51cdc123625a28709662d24ea0cb4cf6f991845e6054d9f803c78da1d6b08f",
"sha256:1f0056d3216b0fe38f25c6f8ebc84bd9f6d34c55a7a9414341b674fb98961399",
"sha256:228b59460e9a786e498bdfc8011838b89c6054650b115c86c9c819a055a793b0",
"sha256:23020f9ff2cb3457a926dcc470b84f9bd5b7646bd8b8e06b915bdbbc905cb23f",
"sha256:3e6bcca97a7ff4e720352b57ddc26380c0583dcdd4b791acef7b574ad58468a7",
"sha256:3ed88f9e638da57647149115c34e0e120cae6f3d35eee7d77e22cc9c1d8eced3",
"sha256:445bf7941cb1fa05d6c2a4a502ad4868a5cacd92e8eb77b2bd008cdda9d37c55",
"sha256:4ba5e147d76d7ee884fd6eae461438b080bcc9f2c6eb9b576811e1bcfe8f808e",
"sha256:4bb128b719c30f3b9feacfe71a338ae07d39dbffc077139416f3535c89f12362",
"sha256:53c0c9964390368fd64460b690f168221c669766b193b7e80ae3950c2b9551f8",
"sha256:57c4edef81611098d37176278f2b6a3712bf864eed313496d7d80504805896d1",
"sha256:7f7283dfe50eac8a8cd9b777de9eb50b1edf7dbb46fc7cc9d9b0050d0c135021",
"sha256:7f9759095b3fc825464a72b1cae95125e610eba3c70f91557754c32a0bf32ea2",
"sha256:98727050ba70eb8d318ec8a8203531c20119347fc8f281102b097326812742ab",
"sha256:ac9cdf044dcb9481c7da782db01b50c1f0e7cdd78c8507b963b6d072829c0263",
"sha256:b679f951f842c38665aa54bea4d7403099131f71fac6d8584f893a731fe1266d",
"sha256:b8c183dc4aa4e95dc5c373eedc3d205c176805835611fcfec5d9050736c695c4",
"sha256:c2c76f483d05eddec60a5cd89e92385adef565a4f243b1d9a6abe2f6bd2a7c0a",
"sha256:c388baa3c04272a7c585d3da24030c142353eb26eb531dd2681502e6be7d7a26",
"sha256:cb0f2a711db665b5bf8697b5af3b9884bb1139385c5c12c2e472e4bbee62da99",
"sha256:cbac984d7b36e75b440d1c8ff9d3425d778364a0cbc23f8943383d4decd35d5e",
"sha256:f9084ed3b8997ad4353d124b903f2860a9695b9e080663276d9e58c32e293244"
],
"version": "==0.13.1"
},
"pytz": {
"hashes": [
"sha256:32b0891edff07e28efe91284ed9c31e123d84bea3fd98e1f72be2508f43ef8d9",
"sha256:d5f05e487007e29e03409f9398d074e158d920d36eb82eaf66fb1136b0c5374c"
],
"version": "==2018.9"
},
"pyyaml": {
"hashes": [
"sha256:3d7da3009c0f3e783b2c873687652d83b1bbfd5c88e9813fb7e5b03c0dd3108b",
"sha256:3ef3092145e9b70e3ddd2c7ad59bdd0252a94dfe3949721633e41344de00a6bf",
"sha256:40c71b8e076d0550b2e6380bada1f1cd1017b882f7e16f09a65be98e017f211a",
"sha256:558dd60b890ba8fd982e05941927a3911dc409a63dcb8b634feaa0cda69330d3",
"sha256:a7c28b45d9f99102fa092bb213aa12e0aaf9a6a1f5e395d36166639c1f96c3a1",
"sha256:aa7dd4a6a427aed7df6fb7f08a580d68d9b118d90310374716ae90b710280af1",
"sha256:bc558586e6045763782014934bfaf39d48b8ae85a2713117d16c39864085c613",
"sha256:d46d7982b62e0729ad0175a9bc7e10a566fc07b224d2c79fafb5e032727eaa04",
"sha256:d5eef459e30b09f5a098b9cea68bebfeb268697f78d647bd255a085371ac7f3f",
"sha256:e01d3203230e1786cd91ccfdc8f8454c8069c91bee3962ad93b87a4b2860f537",
"sha256:e170a9e6fcfd19021dd29845af83bb79236068bf5fd4df3327c1be18182b2531"
],
"version": "==3.13"
},
"raven": {
"hashes": [
"sha256:3fa6de6efa2493a7c827472e984ce9b020797d0da16f1db67197bcc23c8fae54",
"sha256:44a13f87670836e153951af9a3c80405d36b43097db869a36e92809673692ce4"
],
"version": "==6.10.0"
},
"raven-aiohttp": {
"hashes": [
"sha256:1444a49c93a85b8bb57c6ee649e512368dce7a26ad64ac3a01d86aa5669d77f3",
"sha256:6a34b6a9841ad0fd827eeb158edb5826c5c5bd7babe2cde2a3f23eb85313af04"
],
"version": "==0.7.0"
},
"red-discordbot": {
"editable": true,
"extras": [
"mongo",
"voice"
],
"path": "."
},
"red-lavalink": {
"hashes": [
"sha256:13e1a3f91b990be9582cba039d9a32ec4cef760da1e7e6952143116ec83d4302",
"sha256:3dd0d73b4a908bbe9cfb703d2563dad1d1a58f8eea5896a0dacdf37d54a39d9c"
],
"version": "==0.2.3"
},
"requests": {
"hashes": [
"sha256:502a824f31acdacb3a35b6690b5fbf0bc41d63a24a45c4004352b0242707598e",
"sha256:7bf2a778576d825600030a110f3c0e3e8edc51dfaafe1c146e39a2027784957b"
],
"version": "==2.21.0"
},
"schema": {
"hashes": [
"sha256:d994b0dc4966000037b26898df638e3e2a694cc73636cb2050e652614a350687",
"sha256:fa1a53fe5f3b6929725a4e81688c250f46838e25d8c1885a10a590c8c01a7b74"
],
"version": "==0.6.8"
},
"six": {
"hashes": [
"sha256:3350809f0555b11f552448330d0b52d5f24c91a322ea4a15ef22629740f3761c",
"sha256:d16a0141ec1a18405cd4ce8b4613101da75da0e9a7aec5bdd4fa804d0e0eba73"
],
"version": "==1.12.0"
},
"snowballstemmer": {
"hashes": [
"sha256:919f26a68b2c17a7634da993d91339e288964f93c274f1343e3bbbe2096e1128",
"sha256:9f3bcd3c401c3e862ec0ebe6d2c069ebc012ce142cce209c098ccb5b09136e89"
],
"version": "==1.2.1"
},
"sphinx": {
"hashes": [
"sha256:b53904fa7cb4b06a39409a492b949193a1b68cc7241a1a8ce9974f86f0d24287",
"sha256:c1c00fc4f6e8b101a0d037065043460dffc2d507257f2f11acaed71fd2b0c83c"
],
"version": "==1.8.4"
},
"sphinx-rtd-theme": {
"hashes": [
"sha256:00cf895504a7895ee433807c62094cf1e95f065843bf3acd17037c3e9a2becd4",
"sha256:728607e34d60456d736cc7991fd236afb828b21b82f956c5ea75f94c8414040a"
],
"version": "==0.4.3"
},
"sphinxcontrib-asyncio": {
"hashes": [
"sha256:96627b1ec4eba08d09ad577ff9416c131910333ef37a2c82a2716e59646739f0"
],
"version": "==0.2.0"
},
"sphinxcontrib-websupport": {
"hashes": [
"sha256:68ca7ff70785cbe1e7bccc71a48b5b6d965d79ca50629606c7861a21b206d9dd",
"sha256:9de47f375baf1ea07cdb3436ff39d7a9c76042c10a769c52353ec46e4e8fc3b9"
],
"version": "==1.1.0"
},
"toml": {
"hashes": [
"sha256:229f81c57791a41d65e399fc06bf0848bab550a9dfd5ed66df18ce5f05e73d5c",
"sha256:235682dd292d5899d361a811df37e04a8828a5b1da3115886b73cf81ebc9100e"
],
"version": "==0.10.0"
},
"tox": {
"hashes": [
"sha256:04f8f1aa05de8e76d7a266ccd14e0d665d429977cd42123bc38efa9b59964e9e",
"sha256:25ef928babe88c71e3ed3af0c464d1160b01fca2dd1870a5bb26c2dea61a17fc"
],
"index": "pypi",
"version": "==3.7.0"
},
"urllib3": {
"hashes": [
"sha256:61bf29cada3fc2fbefad4fdf059ea4bd1b4a86d2b6d15e1c7c0b582b9752fe39",
"sha256:de9529817c93f27c8ccbfead6985011db27bd0ddfcdb2d86f3f663385c6a9c22"
],
"version": "==1.24.1"
},
"virtualenv": {
"hashes": [
"sha256:8b9abfc51c38b70f61634bf265e5beacf6fae11fc25d355d1871f49b8e45f0db",
"sha256:cceab52aa7d4df1e1871a70236eb2b89fcfe29b6b43510d9738689787c513261"
],
"version": "==16.4.0"
},
"websockets": {
"hashes": [
"sha256:04b42a1b57096ffa5627d6a78ea1ff7fad3bc2c0331ffc17bc32a4024da7fea0",
"sha256:08e3c3e0535befa4f0c4443824496c03ecc25062debbcf895874f8a0b4c97c9f",
"sha256:10d89d4326045bf5e15e83e9867c85d686b612822e4d8f149cf4840aab5f46e0",
"sha256:232fac8a1978fc1dead4b1c2fa27c7756750fb393eb4ac52f6bc87ba7242b2fa",
"sha256:4bf4c8097440eff22bc78ec76fe2a865a6e658b6977a504679aaf08f02c121da",
"sha256:51642ea3a00772d1e48fb0c492f0d3ae3b6474f34d20eca005a83f8c9c06c561",
"sha256:55d86102282a636e195dad68aaaf85b81d0bef449d7e2ef2ff79ac450bb25d53",
"sha256:564d2675682bd497b59907d2205031acbf7d3fadf8c763b689b9ede20300b215",
"sha256:5d13bf5197a92149dc0badcc2b699267ff65a867029f465accfca8abab95f412",
"sha256:5eda665f6789edb9b57b57a159b9c55482cbe5b046d7db458948370554b16439",
"sha256:5edb2524d4032be4564c65dc4f9d01e79fe8fad5f966e5b552f4e5164fef0885",
"sha256:79691794288bc51e2a3b8de2bc0272ca8355d0b8503077ea57c0716e840ebaef",
"sha256:7fcc8681e9981b9b511cdee7c580d5b005f3bb86b65bde2188e04a29f1d63317",
"sha256:8e447e05ec88b1b408a4c9cde85aa6f4b04f06aa874b9f0b8e8319faf51b1fee",
"sha256:90ea6b3e7787620bb295a4ae050d2811c807d65b1486749414f78cfd6fb61489",
"sha256:9e13239952694b8b831088431d15f771beace10edfcf9ef230cefea14f18508f",
"sha256:d40f081187f7b54d7a99d8a5c782eaa4edc335a057aa54c85059272ed826dc09",
"sha256:e1df1a58ed2468c7b7ce9a2f9752a32ad08eac2bcd56318625c3647c2cd2da6f",
"sha256:e98d0cec437097f09c7834a11c69d79fe6241729b23f656cfc227e93294fc242",
"sha256:f8d59627702d2ff27cb495ca1abdea8bd8d581de425c56e93bff6517134e0a9b",
"sha256:fc30cdf2e949a2225b012a7911d1d031df3d23e99b7eda7dfc982dc4a860dae9"
],
"version": "==7.0"
},
"yarl": {
"hashes": [
"sha256:024ecdc12bc02b321bc66b41327f930d1c2c543fa9a561b39861da9388ba7aa9",
"sha256:2f3010703295fbe1aec51023740871e64bb9664c789cba5a6bdf404e93f7568f",
"sha256:3890ab952d508523ef4881457c4099056546593fa05e93da84c7250516e632eb",
"sha256:3e2724eb9af5dc41648e5bb304fcf4891adc33258c6e14e2a7414ea32541e320",
"sha256:5badb97dd0abf26623a9982cd448ff12cb39b8e4c94032ccdedf22ce01a64842",
"sha256:73f447d11b530d860ca1e6b582f947688286ad16ca42256413083d13f260b7a0",
"sha256:7ab825726f2940c16d92aaec7d204cfc34ac26c0040da727cf8ba87255a33829",
"sha256:b25de84a8c20540531526dfbb0e2d2b648c13fd5dd126728c496d7c3fea33310",
"sha256:c6e341f5a6562af74ba55205dbd56d248daf1b5748ec48a0200ba227bb9e33f4",
"sha256:c9bb7c249c4432cd47e75af3864bc02d26c9594f49c82e2a28624417f0ae63b8",
"sha256:e060906c0c585565c718d1c3841747b61c5439af2211e185f6739a9412dfbde1"
],
"version": "==1.3.0"
}
}
}
+122 -36
View File
@@ -1,54 +1,140 @@
![intro](http://i.imgur.com/RgGlNpQ.jpg)
<h1 align="center">
<br>
<a href="https://github.com/Cog-Creators/Red-DiscordBot/tree/V3/develop"><img src="https://imgur.com/pY1WUFX.png" alt="Red - Discord Bot"></a>
<br>
Red Discord Bot
<br>
</h1>
# Red - A fully customizable Discord bot
#### *Music, admin, trivia, fun commands and much more!*
[<img src="https://img.shields.io/badge/Support-me!-orange.svg">](https://www.patreon.com/Twentysix26) [<img src="https://img.shields.io/badge/discord-py-blue.svg">](https://github.com/Rapptz/discord.py) [<img src="https://discordapp.com/api/guilds/133049272517001216/widget.png?style=shield">](https://discord.gg/red) [![Build Status](https://api.travis-ci.org/Cog-Creators/Red-DiscordBot.svg?branch=develop)](https://travis-ci.org/Cog-Creators/Red-DiscordBot) [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)
<h4 align="center">Music, Moderation, Trivia, Stream Alerts and Fully Modular.</h4>
**Red** is a fully modular bot meaning all features and commands can be enabled/disabled to your liking, making it completely customizable.
This is also a *self-hosted bot* meaning you will need to host and maintain your own instance. You can turn Red into an admin bot, music bot, trivia bot, new best friend or all of these together!
[Installation is easy](https://twentysix26.github.io/Red-Docs/), and you do NOT need to know anything about coding! Aside from installation and updating, every part of the bot can be controlled from within Discord.
<p align="center">
<a href="https://discord.gg/red">
<img src="https://discordapp.com/api/guilds/133049272517001216/widget.png?style=shield" alt="Discord Server">
</a>
<a href="https://www.patreon.com/Red_Devs">
<img src="https://img.shields.io/badge/Support-Red!-yellow.svg" alt="Support Red on Patreon!">
</a>
<a href="https://www.python.org/downloads/">
<img src="https://img.shields.io/badge/Made%20With-Python%203-blue.svg?style=for-the-badge" alt="Made with Python 3">
</a>
<a href="https://crowdin.com/project/red-discordbot">
<img src="https://d322cqt584bo4o.cloudfront.net/red-discordbot/localized.svg" alt="Localized with Crowdin">
</a>
<a href="https://github.com/Rapptz/discord.py/tree/rewrite">
<img src="https://img.shields.io/badge/discord-py-blue.svg" alt="discord.py">
</a>
</p>
<p align="center">
<a href="https://travis-ci.org/Cog-Creators/Red-DiscordBot">
<img src="https://api.travis-ci.org/Cog-Creators/Red-DiscordBot.svg?branch=V3/develop" alt="Travis CI">
</a>
<a href="http://red-discordbot.readthedocs.io/en/v3-develop/?badge=v3-develop">
<img src="https://readthedocs.org/projects/red-discordbot/badge/?version=v3-develop" alt="Red on readthedocs.org">
</a>
<a href="https://github.com/ambv/black">
<img src="https://img.shields.io/badge/code%20style-black-000000.svg" alt="Code Style: Black">
</a>
<a href="http://makeapullrequest.com">
<img src="https://img.shields.io/badge/PRs-welcome-brightgreen.svg">
</a>
</p>
The default set of modules includes and is not limited to:
* Moderation features (kick/ban/softban/hackban, mod-log, filter, chat cleanup)
* Trivia (lists are included and can be easily added)
* Music features (YouTube, SoundCloud, local files, playlists, queues)
* Stream alerts (Twitch, Mixer, Smashcast)
* Slot machines
* Custom commands
* Imgur/gif search
<p align="center">
<a href="#overview">Overview</a>
<a href="#installation">Installation</a>
<a href="http://red-discordbot.readthedocs.io/en/v3-develop/index.html">Documentation</a>
<a href="#plugins">Plugins</a>
<a href="#join-the-community">Community</a>
<a href="#license">License</a>
</p>
Additionally, other modules (cogs) can be easily found and added from our growing community of cog repositories. Including:
* Cleverbot integration (talk to Red and she talks back)
* Loggers
* Welcome messages setup
* Reminders
* Raffles
* Leveler (increase levels for server participation)
* Sound effects
* And much, much more!
# Overview
Feel free to take a [peek](https://cogs.red/)!
Red is a fully modular bot meaning all features and commands can be enabled/disabled to your
liking, making it completely customizable. This is also a *self-hosted bot* meaning you will need
to host and maintain your own instance. You can turn Red into an admin bot, music bot, trivia bot,
new best friend or all of these together!
[Installation](#installation) is easy, and you do **NOT** need to know anything about coding! Aside
from installation and updating, every part of the bot can be controlled from within Discord.
**The default set of modules includes and is not limited to:**
- Moderation features (kick/ban/softban/hackban, mod-log, filter, chat cleanup)
- Trivia (lists are included and can be easily added)
- Music features (YouTube, SoundCloud, local files, playlists, queues)
- Stream alerts (Twitch, Youtube, Mixer, Hitbox, Picarto)
- Bank (slot machine, user credits)
- Custom commands
- Imgur/gif search
- Admin automation (self-role assignment, cross-server announcements, mod-mail reports)
- Customisable command permissions
**Additionally, other [plugins](#plugins) (cogs) can be easily found and added from our growing
community of cog repositories.**
# Installation
The installation process is straightforward; all major platforms are supported:
* [Windows](https://twentysix26.github.io/Red-Docs/red_install_windows/)
* [Linux](https://twentysix26.github.io/Red-Docs/red_install_linux/)
* [macOS](https://twentysix26.github.io/Red-Docs/red_install_mac/)
**The following platforms are officially supported:**
Read the [getting started](https://twentysix26.github.io/Red-Docs/red_getting_started/) guide to quickly learn how to use Red.
- [Windows](https://red-discordbot.readthedocs.io/en/v3-develop/install_windows.html)
- [MacOS](https://red-discordbot.readthedocs.io/en/v3-develop/install_linux_mac.html)
- [Ubuntu](https://red-discordbot.readthedocs.io/en/v3-develop/install_linux_mac.html)
- [Debian Stretch](https://red-discordbot.readthedocs.io/en/v3-develop/install_linux_mac.html)
- [CentOS 7](https://red-discordbot.readthedocs.io/en/v3-develop/install_linux_mac.html)
- [Arch Linux](https://red-discordbot.readthedocs.io/en/v3-develop/install_linux_mac.html)
- [Raspbian Stretch](https://red-discordbot.readthedocs.io/en/v3-develop/install_linux_mac.html)
If you have any other questions, feel free to explore the [Docs](https://twentysix26.github.io/Red-Docs/) for guidance.
Already using **Red** V2? Take a look at the [Data Converter](https://red-discordbot.readthedocs.io/en/v3-develop/cog_dataconverter.html)
to import your data to V3.
If [*after reading the guides*](https://twentysix26.github.io/Red-Docs/) you are still experiencing issues that are not listed on [this page](https://twentysix26.github.io/Red-Docs/red_guide_troubleshooting/) or in the [FAQs](https://twentysix26.github.io/Red-Docs/red_faq/), feel free to join the [official server](https://discord.gg/red) for help.
Have fun!
If after reading the guide you are still experiencing issues, feel free to join the
[Official Discord Server](https://discord.gg/red) and ask in the **#v3-support** channel for help.
# Plugins
Red is fully modular, allowing you to load and unload plugins of your choice, and install 3rd party
plugins directly from Discord! A few examples are:
- Cleverbot integration (talk to Red and she talks back)
- Ban sync
- Welcome messages
- Casino
- Reaction roles
- Slow Mode
- Anilist
- And much, much more!
Feel free to take a [peek](https://github.com/Cog-Creators/Red-DiscordBot/issues/1398) at a list of
available 3rd party cogs!
# Join the community!
Red is in continuous development, and its supported by an active community which produces new content (cogs/plugins) for everyone to enjoy. New features are constantly added. If you cant [find](https://cogs.red/) what youre looking for, we are open to suggestions! Stay tuned by [joining the official server](https://discord.gg/red)!
**Red** is in continuous development, and its supported by an active community which produces new
content (cogs/plugins) for everyone to enjoy. New features are constantly added. If you cant
[find](https://github.com/Cog-Creators/Red-DiscordBot/issues/1398) the cog youre looking for,
consult our [guide](https://red-discordbot.readthedocs.io/en/v3-develop/guide_cog_creation.html) on
building your own cogs!
Join us on our [Official Discord Server](https://discord.gg/red)!
# License
Released under the [GNU GPL v3](LICENSE).
Released under the [GNU GPL v3](https://www.gnu.org/licenses/gpl-3.0.en.html) license.
*Red is named after the main character of "Transistor", a videogame by [Supergiant Games](https://www.supergiantgames.com/games/transistor/)*
This project vendors the
[discord.py library by Rapptz](https://github.com/Rapptz/discord.py/tree/rewrite), which is
licensed under the [MIT License](https://opensource.org/licenses/MIT). This amounts to everything
within the *discord* folder of this repository.
Red is named after the main character of "Transistor", a video game by
[Super Giant Games](https://www.supergiantgames.com/games/transistor/).
Artwork created by [Sinlaire](https://sinlaire.deviantart.com/) on Deviant Art for the Red Discord
Bot Project.
-191
View File
@@ -1,191 +0,0 @@
from discord.ext import commands
from .utils.chat_formatting import box
from .utils.dataIO import dataIO
from .utils import checks
from __main__ import user_allowed, send_cmd_help
from copy import copy
import os
import discord
class Alias:
def __init__(self, bot):
self.bot = bot
self.file_path = "data/alias/aliases.json"
self.aliases = dataIO.load_json(self.file_path)
self.remove_old()
@commands.group(pass_context=True, no_pm=True)
async def alias(self, ctx):
"""Manage per-server aliases for commands"""
if ctx.invoked_subcommand is None:
await send_cmd_help(ctx)
@alias.command(name="add", pass_context=True, no_pm=True)
@checks.mod_or_permissions(manage_server=True)
async def _add_alias(self, ctx, command, *, to_execute):
"""Add an alias for a command
Example: !alias add test flip @Twentysix"""
server = ctx.message.server
command = command.lower()
if len(command.split(" ")) != 1:
await self.bot.say("I can't safely do multi-word aliases because"
" of the fact that I allow arguments to"
" aliases. It sucks, I know, deal with it.")
return
if self.part_of_existing_command(command, server.id):
await self.bot.say('I can\'t safely add an alias that starts with '
'an existing command or alias. Sry <3')
return
prefix = self.get_prefix(server, to_execute)
if prefix is not None:
to_execute = to_execute[len(prefix):]
if server.id not in self.aliases:
self.aliases[server.id] = {}
if command not in self.bot.commands:
self.aliases[server.id][command] = to_execute
dataIO.save_json(self.file_path, self.aliases)
await self.bot.say("Alias '{}' added.".format(command))
else:
await self.bot.say("Cannot add '{}' because it's a real bot "
"command.".format(command))
@alias.command(name="help", pass_context=True, no_pm=True)
async def _help_alias(self, ctx, command):
"""Tries to execute help for the base command of the alias"""
server = ctx.message.server
if server.id in self.aliases:
server_aliases = self.aliases[server.id]
if command in server_aliases:
help_cmd = server_aliases[command].split(" ")[0]
new_content = self.bot.settings.get_prefixes(server)[0]
new_content += "help "
new_content += help_cmd[len(self.get_prefix(server,
help_cmd)):]
message = ctx.message
message.content = new_content
await self.bot.process_commands(message)
else:
await self.bot.say("That alias doesn't exist.")
@alias.command(name="show", pass_context=True, no_pm=True)
async def _show_alias(self, ctx, command):
"""Shows what command the alias executes."""
server = ctx.message.server
if server.id in self.aliases:
server_aliases = self.aliases[server.id]
if command in server_aliases:
await self.bot.say(box(server_aliases[command]))
else:
await self.bot.say("That alias doesn't exist.")
@alias.command(name="del", pass_context=True, no_pm=True)
@checks.mod_or_permissions(manage_server=True)
async def _del_alias(self, ctx, command):
"""Deletes an alias"""
command = command.lower()
server = ctx.message.server
if server.id in self.aliases:
self.aliases[server.id].pop(command, None)
dataIO.save_json(self.file_path, self.aliases)
await self.bot.say("Alias '{}' deleted.".format(command))
@alias.command(name="list", pass_context=True, no_pm=True)
async def _alias_list(self, ctx):
"""Lists aliases available on this server
Responds in DM"""
server = ctx.message.server
if server.id in self.aliases:
message = "```Alias list:\n"
for alias in sorted(self.aliases[server.id]):
if len(message) + len(alias) + 3 > 2000:
await self.bot.whisper(message)
message = "```\n"
message += "\t{}\n".format(alias)
if message != "```Alias list:\n":
message += "```"
await self.bot.whisper(message)
else:
await self.bot.say("There are no aliases on this server.")
async def on_message(self, message):
if len(message.content) < 2 or message.channel.is_private:
return
msg = message.content
server = message.server
prefix = self.get_prefix(server, msg)
if not prefix:
return
if server.id in self.aliases and user_allowed(message):
alias = self.first_word(msg[len(prefix):]).lower()
if alias in self.aliases[server.id]:
new_command = self.aliases[server.id][alias]
args = message.content[len(prefix + alias):]
new_message = copy(message)
new_message.content = prefix + new_command + args
await self.bot.process_commands(new_message)
def part_of_existing_command(self, alias, server):
'''Command or alias'''
for command in self.bot.commands:
if alias.lower() == command.lower():
return True
return False
def remove_old(self):
for sid in self.aliases:
to_delete = []
to_add = []
for aliasname, alias in self.aliases[sid].items():
lower = aliasname.lower()
if aliasname != lower:
to_delete.append(aliasname)
to_add.append((lower, alias))
if aliasname != self.first_word(aliasname):
to_delete.append(aliasname)
continue
server = discord.Object(id=sid)
prefix = self.get_prefix(server, alias)
if prefix is not None:
self.aliases[sid][aliasname] = alias[len(prefix):]
for alias in to_delete: # Fixes caps and bad prefixes
del self.aliases[sid][alias]
for alias, command in to_add: # For fixing caps
self.aliases[sid][alias] = command
dataIO.save_json(self.file_path, self.aliases)
def first_word(self, msg):
return msg.split(" ")[0]
def get_prefix(self, server, msg):
prefixes = self.bot.settings.get_prefixes(server)
for p in prefixes:
if msg.startswith(p):
return p
return None
def check_folder():
if not os.path.exists("data/alias"):
print("Creating data/alias folder...")
os.makedirs("data/alias")
def check_file():
aliases = {}
f = "data/alias/aliases.json"
if not dataIO.is_valid_json(f):
print("Creating default alias's aliases.json...")
dataIO.save_json(f, aliases)
def setup(bot):
check_folder()
check_file()
bot.add_cog(Alias(bot))
-2380
View File
File diff suppressed because it is too large Load Diff
-200
View File
@@ -1,200 +0,0 @@
from discord.ext import commands
from .utils.dataIO import dataIO
from .utils import checks
from .utils.chat_formatting import pagify, box
import os
import re
class CustomCommands:
"""Custom commands
Creates commands used to display text"""
def __init__(self, bot):
self.bot = bot
self.file_path = "data/customcom/commands.json"
self.c_commands = dataIO.load_json(self.file_path)
@commands.group(aliases=["cc"], pass_context=True, no_pm=True)
async def customcom(self, ctx):
"""Custom commands management"""
if ctx.invoked_subcommand is None:
await self.bot.send_cmd_help(ctx)
@customcom.command(name="add", pass_context=True)
@checks.mod_or_permissions(administrator=True)
async def cc_add(self, ctx, command : str, *, text):
"""Adds a custom command
Example:
[p]customcom add yourcommand Text you want
CCs can be enhanced with arguments:
https://twentysix26.github.io/Red-Docs/red_guide_command_args/
"""
server = ctx.message.server
command = command.lower()
if command in self.bot.commands:
await self.bot.say("That command is already a standard command.")
return
if server.id not in self.c_commands:
self.c_commands[server.id] = {}
cmdlist = self.c_commands[server.id]
if command not in cmdlist:
cmdlist[command] = text
self.c_commands[server.id] = cmdlist
dataIO.save_json(self.file_path, self.c_commands)
await self.bot.say("Custom command successfully added.")
else:
await self.bot.say("This command already exists. Use "
"`{}customcom edit` to edit it."
"".format(ctx.prefix))
@customcom.command(name="edit", pass_context=True)
@checks.mod_or_permissions(administrator=True)
async def cc_edit(self, ctx, command : str, *, text):
"""Edits a custom command
Example:
[p]customcom edit yourcommand Text you want
"""
server = ctx.message.server
command = command.lower()
if server.id in self.c_commands:
cmdlist = self.c_commands[server.id]
if command in cmdlist:
cmdlist[command] = text
self.c_commands[server.id] = cmdlist
dataIO.save_json(self.file_path, self.c_commands)
await self.bot.say("Custom command successfully edited.")
else:
await self.bot.say("That command doesn't exist. Use "
"`{}customcom add` to add it."
"".format(ctx.prefix))
else:
await self.bot.say("There are no custom commands in this server."
" Use `{}customcom add` to start adding some."
"".format(ctx.prefix))
@customcom.command(name="delete", pass_context=True)
@checks.mod_or_permissions(administrator=True)
async def cc_delete(self, ctx, command : str):
"""Deletes a custom command
Example:
[p]customcom delete yourcommand"""
server = ctx.message.server
command = command.lower()
if server.id in self.c_commands:
cmdlist = self.c_commands[server.id]
if command in cmdlist:
cmdlist.pop(command, None)
self.c_commands[server.id] = cmdlist
dataIO.save_json(self.file_path, self.c_commands)
await self.bot.say("Custom command successfully deleted.")
else:
await self.bot.say("That command doesn't exist.")
else:
await self.bot.say("There are no custom commands in this server."
" Use `{}customcom add` to start adding some."
"".format(ctx.prefix))
@customcom.command(name="list", pass_context=True)
async def cc_list(self, ctx):
"""Shows custom commands list"""
server = ctx.message.server
commands = self.c_commands.get(server.id, {})
if not commands:
await self.bot.say("There are no custom commands in this server."
" Use `{}customcom add` to start adding some."
"".format(ctx.prefix))
return
commands = ", ".join([ctx.prefix + c for c in sorted(commands)])
commands = "Custom commands:\n\n" + commands
if len(commands) < 1500:
await self.bot.say(box(commands))
else:
for page in pagify(commands, delims=[" ", "\n"]):
await self.bot.whisper(box(page))
async def on_message(self, message):
if len(message.content) < 2 or message.channel.is_private:
return
server = message.server
prefix = self.get_prefix(message)
if not prefix:
return
if server.id in self.c_commands and self.bot.user_allowed(message):
cmdlist = self.c_commands[server.id]
cmd = message.content[len(prefix):]
if cmd in cmdlist:
cmd = cmdlist[cmd]
cmd = self.format_cc(cmd, message)
await self.bot.send_message(message.channel, cmd)
elif cmd.lower() in cmdlist:
cmd = cmdlist[cmd.lower()]
cmd = self.format_cc(cmd, message)
await self.bot.send_message(message.channel, cmd)
def get_prefix(self, message):
for p in self.bot.settings.get_prefixes(message.server):
if message.content.startswith(p):
return p
return False
def format_cc(self, command, message):
results = re.findall("\{([^}]+)\}", command)
for result in results:
param = self.transform_parameter(result, message)
command = command.replace("{" + result + "}", param)
return command
def transform_parameter(self, result, message):
"""
For security reasons only specific objects are allowed
Internals are ignored
"""
raw_result = "{" + result + "}"
objects = {
"message" : message,
"author" : message.author,
"channel" : message.channel,
"server" : message.server
}
if result in objects:
return str(objects[result])
try:
first, second = result.split(".")
except ValueError:
return raw_result
if first in objects and not second.startswith("_"):
first = objects[first]
else:
return raw_result
return str(getattr(first, second, raw_result))
def check_folders():
if not os.path.exists("data/customcom"):
print("Creating data/customcom folder...")
os.makedirs("data/customcom")
def check_files():
f = "data/customcom/commands.json"
if not dataIO.is_valid_json(f):
print("Creating empty commands.json...")
dataIO.save_json(f, {})
def setup(bot):
check_folders()
check_files()
bot.add_cog(CustomCommands(bot))
-703
View File
@@ -1,703 +0,0 @@
from discord.ext import commands
from cogs.utils.dataIO import dataIO
from cogs.utils import checks
from cogs.utils.chat_formatting import pagify, box
from __main__ import send_cmd_help, set_cog
import os
from subprocess import run as sp_run, PIPE
import shutil
from asyncio import as_completed
from setuptools import distutils
import discord
from functools import partial
from concurrent.futures import ThreadPoolExecutor
from time import time
from importlib.util import find_spec
from copy import deepcopy
NUM_THREADS = 4
REPO_NONEX = 0x1
REPO_CLONE = 0x2
REPO_SAME = 0x4
REPOS_LIST = "https://twentysix26.github.io/Red-Docs/red_cog_approved_repos/"
WINDOWS_OS = os.name == 'nt'
DISCLAIMER = ("You're about to add a 3rd party repository. The creator of Red"
" and its community have no responsibility for any potential "
"damage that the content of 3rd party repositories might cause."
"\nBy typing 'I agree' you declare to have read and understand "
"the above message. This message won't be shown again until the"
" next reboot.")
class UpdateError(Exception):
pass
class CloningError(UpdateError):
pass
class RequirementFail(UpdateError):
pass
class Downloader:
"""Cog downloader/installer."""
def __init__(self, bot):
self.bot = bot
self.disclaimer_accepted = False
self.path = os.path.join("data", "downloader")
self.file_path = os.path.join(self.path, "repos.json")
# {name:{url,cog1:{installed},cog1:{installed}}}
self.repos = dataIO.load_json(self.file_path)
self.executor = ThreadPoolExecutor(NUM_THREADS)
self._do_first_run()
def save_repos(self):
dataIO.save_json(self.file_path, self.repos)
@commands.group(pass_context=True)
@checks.is_owner()
async def cog(self, ctx):
"""Additional cogs management"""
if ctx.invoked_subcommand is None:
await send_cmd_help(ctx)
@cog.group(pass_context=True)
async def repo(self, ctx):
"""Repo management commands"""
if ctx.invoked_subcommand is None or \
isinstance(ctx.invoked_subcommand, commands.Group):
await send_cmd_help(ctx)
return
@repo.command(name="add", pass_context=True)
async def _repo_add(self, ctx, repo_name: str, repo_url: str):
"""Adds repo to available repo lists
Warning: Adding 3RD Party Repositories is at your own
Risk."""
if not self.disclaimer_accepted:
await self.bot.say(DISCLAIMER)
answer = await self.bot.wait_for_message(timeout=30,
author=ctx.message.author)
if answer is None:
await self.bot.say('Not adding repo.')
return
elif "i agree" not in answer.content.lower():
await self.bot.say('Not adding repo.')
return
else:
self.disclaimer_accepted = True
self.repos[repo_name] = {}
self.repos[repo_name]['url'] = repo_url
try:
self.update_repo(repo_name)
except CloningError:
await self.bot.say("That repository link doesn't seem to be "
"valid.")
del self.repos[repo_name]
return
except FileNotFoundError:
error_message = ("I couldn't find git. The downloader needs it "
"for it to properly work.")
if WINDOWS_OS:
error_message += ("\nIf you just installed it you may need "
"a reboot for it to be seen into the PATH "
"environment variable.")
await self.bot.say(error_message)
return
self.populate_list(repo_name)
self.save_repos()
data = self.get_info_data(repo_name)
if data:
msg = data.get("INSTALL_MSG")
if msg:
await self.bot.say(msg[:2000])
await self.bot.say("Repo '{}' added.".format(repo_name))
@repo.command(name="remove")
async def _repo_del(self, repo_name: str):
"""Removes repo from repo list. COGS ARE NOT REMOVED."""
def remove_readonly(func, path, excinfo):
os.chmod(path, 0o755)
func(path)
if repo_name not in self.repos:
await self.bot.say("That repo doesn't exist.")
return
del self.repos[repo_name]
try:
shutil.rmtree(os.path.join(self.path, repo_name), onerror=remove_readonly)
except FileNotFoundError:
pass
self.save_repos()
await self.bot.say("Repo '{}' removed.".format(repo_name))
@cog.command(name="list")
async def _send_list(self, repo_name=None):
"""Lists installable cogs
Repositories list:
https://twentysix26.github.io/Red-Docs/red_cog_approved_repos/"""
retlist = []
if repo_name and repo_name in self.repos:
msg = "Available cogs:\n"
for cog in sorted(self.repos[repo_name].keys()):
if 'url' == cog:
continue
data = self.get_info_data(repo_name, cog)
if data and data.get("HIDDEN") is True:
continue
if data:
retlist.append([cog, data.get("SHORT", "")])
else:
retlist.append([cog, ''])
else:
if self.repos:
msg = "Available repos:\n"
for repo_name in sorted(self.repos.keys()):
data = self.get_info_data(repo_name)
if data:
retlist.append([repo_name, data.get("SHORT", "")])
else:
retlist.append([repo_name, ""])
else:
await self.bot.say("You haven't added a repository yet.\n"
"Start now! {}".format(REPOS_LIST))
return
col_width = max(len(row[0]) for row in retlist) + 2
for row in retlist:
msg += "\t" + "".join(word.ljust(col_width) for word in row) + "\n"
msg += "\nRepositories list: {}".format(REPOS_LIST)
for page in pagify(msg, delims=['\n'], shorten_by=8):
await self.bot.say(box(page))
@cog.command()
async def info(self, repo_name: str, cog: str=None):
"""Shows info about the specified cog"""
if cog is not None:
cogs = self.list_cogs(repo_name)
if cog in cogs:
data = self.get_info_data(repo_name, cog)
if data:
msg = "{} by {}\n\n".format(cog, data["AUTHOR"])
msg += data["NAME"] + "\n\n" + data["DESCRIPTION"]
await self.bot.say(box(msg))
else:
await self.bot.say("The specified cog has no info file.")
else:
await self.bot.say("That cog doesn't exist."
" Use cog list to see the full list.")
else:
data = self.get_info_data(repo_name)
if data is None:
await self.bot.say("That repo does not exist or the"
" information file is missing for that repo"
".")
return
name = data.get("NAME", None)
name = repo_name if name is None else name
author = data.get("AUTHOR", "Unknown")
desc = data.get("DESCRIPTION", "")
msg = ("```{} by {}```\n\n{}".format(name, author, desc))
await self.bot.say(msg)
@cog.command(hidden=True)
async def search(self, *terms: str):
"""Search installable cogs"""
pass # TO DO
@cog.command(pass_context=True)
async def update(self, ctx):
"""Updates cogs"""
tasknum = 0
num_repos = len(self.repos)
min_dt = 0.5
burst_inc = 0.1/(NUM_THREADS)
touch_n = tasknum
touch_t = time()
def regulate(touch_t, touch_n):
dt = time() - touch_t
if dt + burst_inc*(touch_n) > min_dt:
touch_n = 0
touch_t = time()
return True, touch_t, touch_n
return False, touch_t, touch_n + 1
tasks = []
for r in self.repos:
task = partial(self.update_repo, r)
task = self.bot.loop.run_in_executor(self.executor, task)
tasks.append(task)
base_msg = "Downloading updated cogs, please wait... "
status = ' %d/%d repos updated' % (tasknum, num_repos)
msg = await self.bot.say(base_msg + status)
updated_cogs = []
new_cogs = []
deleted_cogs = []
failed_cogs = []
error_repos = {}
installed_updated_cogs = []
for f in as_completed(tasks):
tasknum += 1
try:
name, updates, oldhash = await f
if updates:
if type(updates) is dict:
for k, l in updates.items():
tl = [(name, c, oldhash) for c in l]
if k == 'A':
new_cogs.extend(tl)
elif k == 'D':
deleted_cogs.extend(tl)
elif k == 'M':
updated_cogs.extend(tl)
except UpdateError as e:
name, what = e.args
error_repos[name] = what
edit, touch_t, touch_n = regulate(touch_t, touch_n)
if edit:
status = ' %d/%d repos updated' % (tasknum, num_repos)
msg = await self._robust_edit(msg, base_msg + status)
status = 'done. '
for t in updated_cogs:
repo, cog, _ = t
if self.repos[repo][cog]['INSTALLED']:
try:
await self.install(repo, cog,
no_install_on_reqs_fail=False)
except RequirementFail:
failed_cogs.append(t)
else:
installed_updated_cogs.append(t)
for t in updated_cogs.copy():
if t in failed_cogs:
updated_cogs.remove(t)
if not any(self.repos[repo][cog]['INSTALLED'] for
repo, cog, _ in updated_cogs):
status += ' No updates to apply. '
if new_cogs:
status += '\nNew cogs: ' \
+ ', '.join('%s/%s' % c[:2] for c in new_cogs) + '.'
if deleted_cogs:
status += '\nDeleted cogs: ' \
+ ', '.join('%s/%s' % c[:2] for c in deleted_cogs) + '.'
if updated_cogs:
status += '\nUpdated cogs: ' \
+ ', '.join('%s/%s' % c[:2] for c in updated_cogs) + '.'
if failed_cogs:
status += '\nCogs that got new requirements which have ' + \
'failed to install: ' + \
', '.join('%s/%s' % c[:2] for c in failed_cogs) + '.'
if error_repos:
status += '\nThe following repos failed to update: '
for n, what in error_repos.items():
status += '\n%s: %s' % (n, what)
msg = await self._robust_edit(msg, base_msg + status)
if not installed_updated_cogs:
return
patchnote_lang = 'Prolog'
shorten_by = 8 + len(patchnote_lang)
for note in self.patch_notes_handler(installed_updated_cogs):
if note is None:
continue
for page in pagify(note, delims=['\n'], shorten_by=shorten_by):
await self.bot.say(box(page, patchnote_lang))
await self.bot.say("Cogs updated. Reload updated cogs? (yes/no)")
answer = await self.bot.wait_for_message(timeout=15,
author=ctx.message.author)
if answer is None:
await self.bot.say("Ok then, you can reload cogs with"
" `{}reload <cog_name>`".format(ctx.prefix))
elif answer.content.lower().strip() == "yes":
registry = dataIO.load_json(os.path.join("data", "red", "cogs.json"))
update_list = []
fail_list = []
for repo, cog, _ in installed_updated_cogs:
if not registry.get('cogs.' + cog, False):
continue
try:
self.bot.unload_extension("cogs." + cog)
self.bot.load_extension("cogs." + cog)
update_list.append(cog)
except:
fail_list.append(cog)
msg = 'Done.'
if update_list:
msg += " The following cogs were reloaded: "\
+ ', '.join(update_list) + "\n"
if fail_list:
msg += " The following cogs failed to reload: "\
+ ', '.join(fail_list)
await self.bot.say(msg)
else:
await self.bot.say("Ok then, you can reload cogs with"
" `{}reload <cog_name>`".format(ctx.prefix))
def patch_notes_handler(self, repo_cog_hash_pairs):
for repo, cog, oldhash in repo_cog_hash_pairs:
repo_path = os.path.join('data', 'downloader', repo)
cogfile = os.path.join(cog, cog + ".py")
cmd = ["git", "-C", repo_path, "log", "--relative-date",
"--reverse", oldhash + '..', cogfile
]
try:
log = sp_run(cmd, stdout=PIPE).stdout.decode().strip()
yield self.format_patch(repo, cog, log)
except:
pass
@cog.command(pass_context=True)
async def uninstall(self, ctx, repo_name, cog):
"""Uninstalls a cog"""
if repo_name not in self.repos:
await self.bot.say("That repo doesn't exist.")
return
if cog not in self.repos[repo_name]:
await self.bot.say("That cog isn't available from that repo.")
return
set_cog("cogs." + cog, False)
self.repos[repo_name][cog]['INSTALLED'] = False
self.save_repos()
os.remove(os.path.join("cogs", cog + ".py"))
owner = self.bot.get_cog('Owner')
await owner.unload.callback(owner, cog_name=cog)
await self.bot.say("Cog successfully uninstalled.")
@cog.command(name="install", pass_context=True)
async def _install(self, ctx, repo_name: str, cog: str):
"""Installs specified cog"""
if repo_name not in self.repos:
await self.bot.say("That repo doesn't exist.")
return
if cog not in self.repos[repo_name]:
await self.bot.say("That cog isn't available from that repo.")
return
data = self.get_info_data(repo_name, cog)
try:
install_cog = await self.install(repo_name, cog, notify_reqs=True)
except RequirementFail:
await self.bot.say("That cog has requirements that I could not "
"install. Check the console for more "
"informations.")
return
if data is not None:
install_msg = data.get("INSTALL_MSG", None)
if install_msg:
await self.bot.say(install_msg[:2000])
if install_cog:
await self.bot.say("Installation completed. Load it now? (yes/no)")
answer = await self.bot.wait_for_message(timeout=15,
author=ctx.message.author)
if answer is None:
await self.bot.say("Ok then, you can load it with"
" `{}load {}`".format(ctx.prefix, cog))
elif answer.content.lower().strip() == "yes":
set_cog("cogs." + cog, True)
owner = self.bot.get_cog('Owner')
await owner.load.callback(owner, cog_name=cog)
else:
await self.bot.say("Ok then, you can load it with"
" `{}load {}`".format(ctx.prefix, cog))
elif install_cog is False:
await self.bot.say("Invalid cog. Installation aborted.")
else:
await self.bot.say("That cog doesn't exist. Use cog list to see"
" the full list.")
async def install(self, repo_name, cog, *, notify_reqs=False,
no_install_on_reqs_fail=True):
# 'no_install_on_reqs_fail' will make the cog get installed anyway
# on requirements installation fail. This is necessary because due to
# how 'cog update' works right now, the user would have no way to
# reupdate the cog if the update fails, since 'cog update' only
# updates the cogs that get a new commit.
# This is not a great way to deal with the problem and a cog update
# rework would probably be the best course of action.
reqs_failed = False
if cog.endswith('.py'):
cog = cog[:-3]
path = self.repos[repo_name][cog]['file']
cog_folder_path = self.repos[repo_name][cog]['folder']
cog_data_path = os.path.join(cog_folder_path, 'data')
data = self.get_info_data(repo_name, cog)
if data is not None:
requirements = data.get("REQUIREMENTS", [])
requirements = [r for r in requirements
if not self.is_lib_installed(r)]
if requirements and notify_reqs:
await self.bot.say("Installing cog's requirements...")
for requirement in requirements:
if not self.is_lib_installed(requirement):
success = await self.bot.pip_install(requirement)
if not success:
if no_install_on_reqs_fail:
raise RequirementFail()
else:
reqs_failed = True
to_path = os.path.join("cogs", cog + ".py")
print("Copying {}...".format(cog))
shutil.copy(path, to_path)
if os.path.exists(cog_data_path):
print("Copying {}'s data folder...".format(cog))
distutils.dir_util.copy_tree(cog_data_path,
os.path.join('data', cog))
self.repos[repo_name][cog]['INSTALLED'] = True
self.save_repos()
if not reqs_failed:
return True
else:
raise RequirementFail()
def get_info_data(self, repo_name, cog=None):
if cog is not None:
cogs = self.list_cogs(repo_name)
if cog in cogs:
info_file = os.path.join(cogs[cog].get('folder'), "info.json")
if os.path.isfile(info_file):
try:
data = dataIO.load_json(info_file)
except:
return None
return data
else:
repo_info = os.path.join(self.path, repo_name, 'info.json')
if os.path.isfile(repo_info):
try:
data = dataIO.load_json(repo_info)
return data
except:
return None
return None
def list_cogs(self, repo_name):
valid_cogs = {}
repo_path = os.path.join(self.path, repo_name)
folders = [f for f in os.listdir(repo_path)
if os.path.isdir(os.path.join(repo_path, f))]
legacy_path = os.path.join(repo_path, "cogs")
legacy_folders = []
if os.path.exists(legacy_path):
for f in os.listdir(legacy_path):
if os.path.isdir(os.path.join(legacy_path, f)):
legacy_folders.append(os.path.join("cogs", f))
folders = folders + legacy_folders
for f in folders:
cog_folder_path = os.path.join(self.path, repo_name, f)
cog_folder = os.path.basename(cog_folder_path)
for cog in os.listdir(cog_folder_path):
cog_path = os.path.join(cog_folder_path, cog)
if os.path.isfile(cog_path) and cog_folder == cog[:-3]:
valid_cogs[cog[:-3]] = {'folder': cog_folder_path,
'file': cog_path}
return valid_cogs
def get_dir_name(self, url):
splitted = url.split("/")
git_name = splitted[-1]
return git_name[:-4]
def is_lib_installed(self, name):
return bool(find_spec(name))
def _do_first_run(self):
save = False
repos_copy = deepcopy(self.repos)
# Issue 725
for repo in repos_copy:
for cog in repos_copy[repo]:
cog_data = repos_copy[repo][cog]
if isinstance(cog_data, str): # ... url field
continue
for k, v in cog_data.items():
if k in ("file", "folder"):
repos_copy[repo][cog][k] = os.path.normpath(cog_data[k])
if self.repos != repos_copy:
self.repos = repos_copy
save = True
invalid = []
for repo in self.repos:
broken = 'url' in self.repos[repo] and len(self.repos[repo]) == 1
if broken:
save = True
try:
self.update_repo(repo)
self.populate_list(repo)
except CloningError:
invalid.append(repo)
continue
except Exception as e:
print(e) # TODO: Proper logging
continue
for repo in invalid:
del self.repos[repo]
if save:
self.save_repos()
def populate_list(self, name):
valid_cogs = self.list_cogs(name)
new = set(valid_cogs.keys())
old = set(self.repos[name].keys())
for cog in new - old:
self.repos[name][cog] = valid_cogs.get(cog, {})
self.repos[name][cog]['INSTALLED'] = False
for cog in new & old:
self.repos[name][cog].update(valid_cogs[cog])
for cog in old - new:
if cog != 'url':
del self.repos[name][cog]
def update_repo(self, name):
def run(*args, **kwargs):
env = os.environ.copy()
env['GIT_TERMINAL_PROMPT'] = '0'
kwargs['env'] = env
return sp_run(*args, **kwargs)
try:
dd = self.path
if name not in self.repos:
raise UpdateError("Repo does not exist in data, wtf")
folder = os.path.join(dd, name)
# Make sure we don't git reset the Red folder on accident
if not os.path.exists(os.path.join(folder, '.git')):
#if os.path.exists(folder):
#shutil.rmtree(folder)
url = self.repos[name].get('url')
if not url:
raise UpdateError("Need to clone but no URL set")
branch = None
if "@" in url: # Specific branch
url, branch = url.rsplit("@", maxsplit=1)
if branch is None:
p = run(["git", "clone", url, folder])
else:
p = run(["git", "clone", "-b", branch, url, folder])
if p.returncode != 0:
raise CloningError()
self.populate_list(name)
return name, REPO_CLONE, None
else:
rpbcmd = ["git", "-C", folder, "rev-parse", "--abbrev-ref", "HEAD"]
p = run(rpbcmd, stdout=PIPE)
branch = p.stdout.decode().strip()
rpcmd = ["git", "-C", folder, "rev-parse", branch]
p = run(["git", "-C", folder, "reset", "--hard",
"origin/%s" % branch, "-q"])
if p.returncode != 0:
raise UpdateError("Error resetting to origin/%s" % branch)
p = run(rpcmd, stdout=PIPE)
if p.returncode != 0:
raise UpdateError("Unable to determine old commit hash")
oldhash = p.stdout.decode().strip()
p = run(["git", "-C", folder, "pull", "-q", "--ff-only"])
if p.returncode != 0:
raise UpdateError("Error pulling updates")
p = run(rpcmd, stdout=PIPE)
if p.returncode != 0:
raise UpdateError("Unable to determine new commit hash")
newhash = p.stdout.decode().strip()
if oldhash == newhash:
return name, REPO_SAME, None
else:
self.populate_list(name)
self.save_repos()
ret = {}
cmd = ['git', '-C', folder, 'diff', '--no-commit-id',
'--name-status', oldhash, newhash]
p = run(cmd, stdout=PIPE)
if p.returncode != 0:
raise UpdateError("Error in git diff")
changed = p.stdout.strip().decode().split('\n')
for f in changed:
if not f.endswith('.py'):
continue
status, _, cogpath = f.partition('\t')
cogname = os.path.split(cogpath)[-1][:-3] # strip .py
if status not in ret:
ret[status] = []
ret[status].append(cogname)
return name, ret, oldhash
except CloningError as e:
raise CloningError(name, *e.args) from None
except UpdateError as e:
raise UpdateError(name, *e.args) from None
async def _robust_edit(self, msg, text):
try:
msg = await self.bot.edit_message(msg, text)
except discord.errors.NotFound:
msg = await self.bot.send_message(msg.channel, text)
except:
raise
return msg
@staticmethod
def format_patch(repo, cog, log):
header = "Patch Notes for %s/%s" % (repo, cog)
line = "=" * len(header)
if log:
return '\n'.join((header, line, log))
def check_folders():
if not os.path.exists(os.path.join("data", "downloader")):
print('Making repo downloads folder...')
os.mkdir(os.path.join("data", "downloader"))
def check_files():
f = os.path.join("data", "downloader", "repos.json")
if not dataIO.is_valid_json(f):
print("Creating default data/downloader/repos.json")
dataIO.save_json(f, {})
def setup(bot):
check_folders()
check_files()
n = Downloader(bot)
bot.add_cog(n)
-736
View File
@@ -1,736 +0,0 @@
import discord
from discord.ext import commands
from cogs.utils.dataIO import dataIO
from collections import namedtuple, defaultdict, deque
from datetime import datetime
from copy import deepcopy
from .utils import checks
from cogs.utils.chat_formatting import pagify, box
from enum import Enum
from __main__ import send_cmd_help
import os
import time
import logging
import random
default_settings = {"PAYDAY_TIME": 300, "PAYDAY_CREDITS": 120,
"SLOT_MIN": 5, "SLOT_MAX": 100, "SLOT_TIME": 0,
"REGISTER_CREDITS": 0}
class EconomyError(Exception):
pass
class OnCooldown(EconomyError):
pass
class InvalidBid(EconomyError):
pass
class BankError(Exception):
pass
class AccountAlreadyExists(BankError):
pass
class NoAccount(BankError):
pass
class InsufficientBalance(BankError):
pass
class NegativeValue(BankError):
pass
class SameSenderAndReceiver(BankError):
pass
NUM_ENC = "\N{COMBINING ENCLOSING KEYCAP}"
class SMReel(Enum):
cherries = "\N{CHERRIES}"
cookie = "\N{COOKIE}"
two = "\N{DIGIT TWO}" + NUM_ENC
flc = "\N{FOUR LEAF CLOVER}"
cyclone = "\N{CYCLONE}"
sunflower = "\N{SUNFLOWER}"
six = "\N{DIGIT SIX}" + NUM_ENC
mushroom = "\N{MUSHROOM}"
heart = "\N{HEAVY BLACK HEART}"
snowflake = "\N{SNOWFLAKE}"
PAYOUTS = {
(SMReel.two, SMReel.two, SMReel.six) : {
"payout" : lambda x: x * 2500 + x,
"phrase" : "JACKPOT! 226! Your bid has been multiplied * 2500!"
},
(SMReel.flc, SMReel.flc, SMReel.flc) : {
"payout" : lambda x: x + 1000,
"phrase" : "4LC! +1000!"
},
(SMReel.cherries, SMReel.cherries, SMReel.cherries) : {
"payout" : lambda x: x + 800,
"phrase" : "Three cherries! +800!"
},
(SMReel.two, SMReel.six) : {
"payout" : lambda x: x * 4 + x,
"phrase" : "2 6! Your bid has been multiplied * 4!"
},
(SMReel.cherries, SMReel.cherries) : {
"payout" : lambda x: x * 3 + x,
"phrase" : "Two cherries! Your bid has been multiplied * 3!"
},
"3 symbols" : {
"payout" : lambda x: x + 500,
"phrase" : "Three symbols! +500!"
},
"2 symbols" : {
"payout" : lambda x: x * 2 + x,
"phrase" : "Two consecutive symbols! Your bid has been multiplied * 2!"
},
}
SLOT_PAYOUTS_MSG = ("Slot machine payouts:\n"
"{two.value} {two.value} {six.value} Bet * 2500\n"
"{flc.value} {flc.value} {flc.value} +1000\n"
"{cherries.value} {cherries.value} {cherries.value} +800\n"
"{two.value} {six.value} Bet * 4\n"
"{cherries.value} {cherries.value} Bet * 3\n\n"
"Three symbols: +500\n"
"Two symbols: Bet * 2".format(**SMReel.__dict__))
class Bank:
def __init__(self, bot, file_path):
self.accounts = dataIO.load_json(file_path)
self.bot = bot
def create_account(self, user, *, initial_balance=0):
server = user.server
if not self.account_exists(user):
if server.id not in self.accounts:
self.accounts[server.id] = {}
if user.id in self.accounts: # Legacy account
balance = self.accounts[user.id]["balance"]
else:
balance = initial_balance
timestamp = datetime.utcnow().strftime("%Y-%m-%d %H:%M:%S")
account = {"name": user.name,
"balance": balance,
"created_at": timestamp
}
self.accounts[server.id][user.id] = account
self._save_bank()
return self.get_account(user)
else:
raise AccountAlreadyExists()
def account_exists(self, user):
try:
self._get_account(user)
except NoAccount:
return False
return True
def withdraw_credits(self, user, amount):
server = user.server
if amount < 0:
raise NegativeValue()
account = self._get_account(user)
if account["balance"] >= amount:
account["balance"] -= amount
self.accounts[server.id][user.id] = account
self._save_bank()
else:
raise InsufficientBalance()
def deposit_credits(self, user, amount):
server = user.server
if amount < 0:
raise NegativeValue()
account = self._get_account(user)
account["balance"] += amount
self.accounts[server.id][user.id] = account
self._save_bank()
def set_credits(self, user, amount):
server = user.server
if amount < 0:
raise NegativeValue()
account = self._get_account(user)
account["balance"] = amount
self.accounts[server.id][user.id] = account
self._save_bank()
def transfer_credits(self, sender, receiver, amount):
if amount < 0:
raise NegativeValue()
if sender is receiver:
raise SameSenderAndReceiver()
if self.account_exists(sender) and self.account_exists(receiver):
sender_acc = self._get_account(sender)
if sender_acc["balance"] < amount:
raise InsufficientBalance()
self.withdraw_credits(sender, amount)
self.deposit_credits(receiver, amount)
else:
raise NoAccount()
def can_spend(self, user, amount):
account = self._get_account(user)
if account["balance"] >= amount:
return True
else:
return False
def wipe_bank(self, server):
self.accounts[server.id] = {}
self._save_bank()
def get_server_accounts(self, server):
if server.id in self.accounts:
raw_server_accounts = deepcopy(self.accounts[server.id])
accounts = []
for k, v in raw_server_accounts.items():
v["id"] = k
v["server"] = server
acc = self._create_account_obj(v)
accounts.append(acc)
return accounts
else:
return []
def get_all_accounts(self):
accounts = []
for server_id, v in self.accounts.items():
server = self.bot.get_server(server_id)
if server is None:
# Servers that have since been left will be ignored
# Same for users_id from the old bank format
continue
raw_server_accounts = deepcopy(self.accounts[server.id])
for k, v in raw_server_accounts.items():
v["id"] = k
v["server"] = server
acc = self._create_account_obj(v)
accounts.append(acc)
return accounts
def get_balance(self, user):
account = self._get_account(user)
return account["balance"]
def get_account(self, user):
acc = self._get_account(user)
acc["id"] = user.id
acc["server"] = user.server
return self._create_account_obj(acc)
def _create_account_obj(self, account):
account["member"] = account["server"].get_member(account["id"])
account["created_at"] = datetime.strptime(account["created_at"],
"%Y-%m-%d %H:%M:%S")
Account = namedtuple("Account", "id name balance "
"created_at server member")
return Account(**account)
def _save_bank(self):
dataIO.save_json("data/economy/bank.json", self.accounts)
def _get_account(self, user):
server = user.server
try:
return deepcopy(self.accounts[server.id][user.id])
except KeyError:
raise NoAccount()
class SetParser:
def __init__(self, argument):
allowed = ("+", "-")
if argument and argument[0] in allowed:
try:
self.sum = int(argument)
except:
raise
if self.sum < 0:
self.operation = "withdraw"
elif self.sum > 0:
self.operation = "deposit"
else:
raise
self.sum = abs(self.sum)
elif argument.isdigit():
self.sum = int(argument)
self.operation = "set"
else:
raise
class Economy:
"""Economy
Get rich and have fun with imaginary currency!"""
def __init__(self, bot):
global default_settings
self.bot = bot
self.bank = Bank(bot, "data/economy/bank.json")
self.file_path = "data/economy/settings.json"
self.settings = dataIO.load_json(self.file_path)
if "PAYDAY_TIME" in self.settings: # old format
default_settings = self.settings
self.settings = {}
self.settings = defaultdict(default_settings.copy, self.settings)
self.payday_register = defaultdict(dict)
self.slot_register = defaultdict(dict)
@commands.group(name="bank", pass_context=True)
async def _bank(self, ctx):
"""Bank operations"""
if ctx.invoked_subcommand is None:
await send_cmd_help(ctx)
@_bank.command(pass_context=True, no_pm=True)
async def register(self, ctx):
"""Registers an account at the Twentysix bank"""
settings = self.settings[ctx.message.server.id]
author = ctx.message.author
credits = 0
if ctx.message.server.id in self.settings:
credits = settings.get("REGISTER_CREDITS", 0)
try:
account = self.bank.create_account(author, initial_balance=credits)
await self.bot.say("{} Account opened. Current balance: {}"
"".format(author.mention, account.balance))
except AccountAlreadyExists:
await self.bot.say("{} You already have an account at the"
" Twentysix bank.".format(author.mention))
@_bank.command(pass_context=True)
async def balance(self, ctx, user: discord.Member=None):
"""Shows balance of user.
Defaults to yours."""
if not user:
user = ctx.message.author
try:
await self.bot.say("{} Your balance is: {}".format(
user.mention, self.bank.get_balance(user)))
except NoAccount:
await self.bot.say("{} You don't have an account at the"
" Twentysix bank. Type `{}bank register`"
" to open one.".format(user.mention,
ctx.prefix))
else:
try:
await self.bot.say("{}'s balance is {}".format(
user.name, self.bank.get_balance(user)))
except NoAccount:
await self.bot.say("That user has no bank account.")
@_bank.command(pass_context=True)
async def transfer(self, ctx, user: discord.Member, sum: int):
"""Transfer credits to other users"""
author = ctx.message.author
try:
self.bank.transfer_credits(author, user, sum)
logger.info("{}({}) transferred {} credits to {}({})".format(
author.name, author.id, sum, user.name, user.id))
await self.bot.say("{} credits have been transferred to {}'s"
" account.".format(sum, user.name))
except NegativeValue:
await self.bot.say("You need to transfer at least 1 credit.")
except SameSenderAndReceiver:
await self.bot.say("You can't transfer credits to yourself.")
except InsufficientBalance:
await self.bot.say("You don't have that sum in your bank account.")
except NoAccount:
await self.bot.say("That user has no bank account.")
@_bank.command(name="set", pass_context=True)
@checks.admin_or_permissions(manage_server=True)
async def _set(self, ctx, user: discord.Member, credits: SetParser):
"""Sets credits of user's bank account. See help for more operations
Passing positive and negative values will add/remove credits instead
Examples:
bank set @Twentysix 26 - Sets 26 credits
bank set @Twentysix +2 - Adds 2 credits
bank set @Twentysix -6 - Removes 6 credits"""
author = ctx.message.author
try:
if credits.operation == "deposit":
self.bank.deposit_credits(user, credits.sum)
logger.info("{}({}) added {} credits to {} ({})".format(
author.name, author.id, credits.sum, user.name, user.id))
await self.bot.say("{} credits have been added to {}"
"".format(credits.sum, user.name))
elif credits.operation == "withdraw":
self.bank.withdraw_credits(user, credits.sum)
logger.info("{}({}) removed {} credits to {} ({})".format(
author.name, author.id, credits.sum, user.name, user.id))
await self.bot.say("{} credits have been withdrawn from {}"
"".format(credits.sum, user.name))
elif credits.operation == "set":
self.bank.set_credits(user, credits.sum)
logger.info("{}({}) set {} credits to {} ({})"
"".format(author.name, author.id, credits.sum,
user.name, user.id))
await self.bot.say("{}'s credits have been set to {}".format(
user.name, credits.sum))
except InsufficientBalance:
await self.bot.say("User doesn't have enough credits.")
except NoAccount:
await self.bot.say("User has no bank account.")
@_bank.command(pass_context=True, no_pm=True)
@checks.serverowner_or_permissions(administrator=True)
async def reset(self, ctx, confirmation: bool=False):
"""Deletes all server's bank accounts"""
if confirmation is False:
await self.bot.say("This will delete all bank accounts on "
"this server.\nIf you're sure, type "
"{}bank reset yes".format(ctx.prefix))
else:
self.bank.wipe_bank(ctx.message.server)
await self.bot.say("All bank accounts of this server have been "
"deleted.")
@commands.command(pass_context=True, no_pm=True)
async def payday(self, ctx): # TODO
"""Get some free credits"""
author = ctx.message.author
server = author.server
id = author.id
if self.bank.account_exists(author):
if id in self.payday_register[server.id]:
seconds = abs(self.payday_register[server.id][
id] - int(time.perf_counter()))
if seconds >= self.settings[server.id]["PAYDAY_TIME"]:
self.bank.deposit_credits(author, self.settings[
server.id]["PAYDAY_CREDITS"])
self.payday_register[server.id][
id] = int(time.perf_counter())
await self.bot.say(
"{} Here, take some credits. Enjoy! (+{}"
" credits!)".format(
author.mention,
str(self.settings[server.id]["PAYDAY_CREDITS"])))
else:
dtime = self.display_time(
self.settings[server.id]["PAYDAY_TIME"] - seconds)
await self.bot.say(
"{} Too soon. For your next payday you have to"
" wait {}.".format(author.mention, dtime))
else:
self.payday_register[server.id][id] = int(time.perf_counter())
self.bank.deposit_credits(author, self.settings[
server.id]["PAYDAY_CREDITS"])
await self.bot.say(
"{} Here, take some credits. Enjoy! (+{} credits!)".format(
author.mention,
str(self.settings[server.id]["PAYDAY_CREDITS"])))
else:
await self.bot.say("{} You need an account to receive credits."
" Type `{}bank register` to open one.".format(
author.mention, ctx.prefix))
@commands.group(pass_context=True)
async def leaderboard(self, ctx):
"""Server / global leaderboard
Defaults to server"""
if ctx.invoked_subcommand is None:
await ctx.invoke(self._server_leaderboard)
@leaderboard.command(name="server", pass_context=True)
async def _server_leaderboard(self, ctx, top: int=10):
"""Prints out the server's leaderboard
Defaults to top 10"""
# Originally coded by Airenkun - edited by irdumb
server = ctx.message.server
if top < 1:
top = 10
bank_sorted = sorted(self.bank.get_server_accounts(server),
key=lambda x: x.balance, reverse=True)
bank_sorted = [a for a in bank_sorted if a.member] # exclude users who left
if len(bank_sorted) < top:
top = len(bank_sorted)
topten = bank_sorted[:top]
highscore = ""
place = 1
for acc in topten:
highscore += str(place).ljust(len(str(top)) + 1)
highscore += (str(acc.member.display_name) + " ").ljust(23 - len(str(acc.balance)))
highscore += str(acc.balance) + "\n"
place += 1
if highscore != "":
for page in pagify(highscore, shorten_by=12):
await self.bot.say(box(page, lang="py"))
else:
await self.bot.say("There are no accounts in the bank.")
@leaderboard.command(name="global")
async def _global_leaderboard(self, top: int=10):
"""Prints out the global leaderboard
Defaults to top 10"""
if top < 1:
top = 10
bank_sorted = sorted(self.bank.get_all_accounts(),
key=lambda x: x.balance, reverse=True)
bank_sorted = [a for a in bank_sorted if a.member] # exclude users who left
unique_accounts = []
for acc in bank_sorted:
if not self.already_in_list(unique_accounts, acc):
unique_accounts.append(acc)
if len(unique_accounts) < top:
top = len(unique_accounts)
topten = unique_accounts[:top]
highscore = ""
place = 1
for acc in topten:
highscore += str(place).ljust(len(str(top)) + 1)
highscore += ("{} |{}| ".format(acc.member, acc.server)
).ljust(23 - len(str(acc.balance)))
highscore += str(acc.balance) + "\n"
place += 1
if highscore != "":
for page in pagify(highscore, shorten_by=12):
await self.bot.say(box(page, lang="py"))
else:
await self.bot.say("There are no accounts in the bank.")
def already_in_list(self, accounts, user):
for acc in accounts:
if user.id == acc.id:
return True
return False
@commands.command()
async def payouts(self):
"""Shows slot machine payouts"""
await self.bot.whisper(SLOT_PAYOUTS_MSG)
@commands.command(pass_context=True, no_pm=True)
async def slot(self, ctx, bid: int):
"""Play the slot machine"""
author = ctx.message.author
server = author.server
settings = self.settings[server.id]
valid_bid = settings["SLOT_MIN"] <= bid and bid <= settings["SLOT_MAX"]
slot_time = settings["SLOT_TIME"]
last_slot = self.slot_register.get(author.id)
now = datetime.utcnow()
try:
if last_slot:
if (now - last_slot).seconds < slot_time:
raise OnCooldown()
if not valid_bid:
raise InvalidBid()
if not self.bank.can_spend(author, bid):
raise InsufficientBalance
await self.slot_machine(author, bid)
except NoAccount:
await self.bot.say("{} You need an account to use the slot "
"machine. Type `{}bank register` to open one."
"".format(author.mention, ctx.prefix))
except InsufficientBalance:
await self.bot.say("{} You need an account with enough funds to "
"play the slot machine.".format(author.mention))
except OnCooldown:
await self.bot.say("Slot machine is still cooling off! Wait {} "
"seconds between each pull".format(slot_time))
except InvalidBid:
await self.bot.say("Bid must be between {} and {}."
"".format(settings["SLOT_MIN"],
settings["SLOT_MAX"]))
async def slot_machine(self, author, bid):
default_reel = deque(SMReel)
reels = []
self.slot_register[author.id] = datetime.utcnow()
for i in range(3):
default_reel.rotate(random.randint(-999, 999)) # weeeeee
new_reel = deque(default_reel, maxlen=3) # we need only 3 symbols
reels.append(new_reel) # for each reel
rows = ((reels[0][0], reels[1][0], reels[2][0]),
(reels[0][1], reels[1][1], reels[2][1]),
(reels[0][2], reels[1][2], reels[2][2]))
slot = "~~\n~~" # Mobile friendly
for i, row in enumerate(rows): # Let's build the slot to show
sign = " "
if i == 1:
sign = ">"
slot += "{}{} {} {}\n".format(sign, *[c.value for c in row])
payout = PAYOUTS.get(rows[1])
if not payout:
# Checks for two-consecutive-symbols special rewards
payout = PAYOUTS.get((rows[1][0], rows[1][1]),
PAYOUTS.get((rows[1][1], rows[1][2]))
)
if not payout:
# Still nothing. Let's check for 3 generic same symbols
# or 2 consecutive symbols
has_three = rows[1][0] == rows[1][1] == rows[1][2]
has_two = (rows[1][0] == rows[1][1]) or (rows[1][1] == rows[1][2])
if has_three:
payout = PAYOUTS["3 symbols"]
elif has_two:
payout = PAYOUTS["2 symbols"]
if payout:
then = self.bank.get_balance(author)
pay = payout["payout"](bid)
now = then - bid + pay
self.bank.set_credits(author, now)
await self.bot.say("{}\n{} {}\n\nYour bid: {}\n{}{}!"
"".format(slot, author.mention,
payout["phrase"], bid, then, now))
else:
then = self.bank.get_balance(author)
self.bank.withdraw_credits(author, bid)
now = then - bid
await self.bot.say("{}\n{} Nothing!\nYour bid: {}\n{}{}!"
"".format(slot, author.mention, bid, then, now))
@commands.group(pass_context=True, no_pm=True)
@checks.admin_or_permissions(manage_server=True)
async def economyset(self, ctx):
"""Changes economy module settings"""
server = ctx.message.server
settings = self.settings[server.id]
if ctx.invoked_subcommand is None:
msg = "```"
for k, v in settings.items():
msg += "{}: {}\n".format(k, v)
msg += "```"
await send_cmd_help(ctx)
await self.bot.say(msg)
@economyset.command(pass_context=True)
async def slotmin(self, ctx, bid: int):
"""Minimum slot machine bid"""
server = ctx.message.server
self.settings[server.id]["SLOT_MIN"] = bid
await self.bot.say("Minimum bid is now {} credits.".format(bid))
dataIO.save_json(self.file_path, self.settings)
@economyset.command(pass_context=True)
async def slotmax(self, ctx, bid: int):
"""Maximum slot machine bid"""
server = ctx.message.server
self.settings[server.id]["SLOT_MAX"] = bid
await self.bot.say("Maximum bid is now {} credits.".format(bid))
dataIO.save_json(self.file_path, self.settings)
@economyset.command(pass_context=True)
async def slottime(self, ctx, seconds: int):
"""Seconds between each slots use"""
server = ctx.message.server
self.settings[server.id]["SLOT_TIME"] = seconds
await self.bot.say("Cooldown is now {} seconds.".format(seconds))
dataIO.save_json(self.file_path, self.settings)
@economyset.command(pass_context=True)
async def paydaytime(self, ctx, seconds: int):
"""Seconds between each payday"""
server = ctx.message.server
self.settings[server.id]["PAYDAY_TIME"] = seconds
await self.bot.say("Value modified. At least {} seconds must pass "
"between each payday.".format(seconds))
dataIO.save_json(self.file_path, self.settings)
@economyset.command(pass_context=True)
async def paydaycredits(self, ctx, credits: int):
"""Credits earned each payday"""
server = ctx.message.server
self.settings[server.id]["PAYDAY_CREDITS"] = credits
await self.bot.say("Every payday will now give {} credits."
"".format(credits))
dataIO.save_json(self.file_path, self.settings)
@economyset.command(pass_context=True)
async def registercredits(self, ctx, credits: int):
"""Credits given on registering an account"""
server = ctx.message.server
if credits < 0:
credits = 0
self.settings[server.id]["REGISTER_CREDITS"] = credits
await self.bot.say("Registering an account will now give {} credits."
"".format(credits))
dataIO.save_json(self.file_path, self.settings)
# What would I ever do without stackoverflow?
def display_time(self, seconds, granularity=2):
intervals = ( # Source: http://stackoverflow.com/a/24542445
('weeks', 604800), # 60 * 60 * 24 * 7
('days', 86400), # 60 * 60 * 24
('hours', 3600), # 60 * 60
('minutes', 60),
('seconds', 1),
)
result = []
for name, count in intervals:
value = seconds // count
if value:
seconds -= value * count
if value == 1:
name = name.rstrip('s')
result.append("{} {}".format(value, name))
return ', '.join(result[:granularity])
def check_folders():
if not os.path.exists("data/economy"):
print("Creating data/economy folder...")
os.makedirs("data/economy")
def check_files():
f = "data/economy/settings.json"
if not dataIO.is_valid_json(f):
print("Creating default economy's settings.json...")
dataIO.save_json(f, {})
f = "data/economy/bank.json"
if not dataIO.is_valid_json(f):
print("Creating empty bank.json...")
dataIO.save_json(f, {})
def setup(bot):
global logger
check_folders()
check_files()
logger = logging.getLogger("red.economy")
if logger.level == 0:
# Prevents the logger from being loaded again in case of module reload
logger.setLevel(logging.INFO)
handler = logging.FileHandler(
filename='data/economy/economy.log', encoding='utf-8', mode='a')
handler.setFormatter(logging.Formatter(
'%(asctime)s %(message)s', datefmt="[%d/%m/%Y %H:%M]"))
logger.addHandler(handler)
bot.add_cog(Economy(bot))
-434
View File
@@ -1,434 +0,0 @@
import discord
from discord.ext import commands
from .utils.chat_formatting import escape_mass_mentions, italics, pagify
from random import randint
from random import choice
from enum import Enum
from urllib.parse import quote_plus
import datetime
import time
import aiohttp
import asyncio
settings = {"POLL_DURATION" : 60}
class RPS(Enum):
rock = "\N{MOYAI}"
paper = "\N{PAGE FACING UP}"
scissors = "\N{BLACK SCISSORS}"
class RPSParser:
def __init__(self, argument):
argument = argument.lower()
if argument == "rock":
self.choice = RPS.rock
elif argument == "paper":
self.choice = RPS.paper
elif argument == "scissors":
self.choice = RPS.scissors
else:
raise
class General:
"""General commands."""
def __init__(self, bot):
self.bot = bot
self.stopwatches = {}
self.ball = ["As I see it, yes", "It is certain", "It is decidedly so", "Most likely", "Outlook good",
"Signs point to yes", "Without a doubt", "Yes", "Yes definitely", "You may rely on it", "Reply hazy, try again",
"Ask again later", "Better not tell you now", "Cannot predict now", "Concentrate and ask again",
"Don't count on it", "My reply is no", "My sources say no", "Outlook not so good", "Very doubtful"]
self.poll_sessions = []
@commands.command(hidden=True)
async def ping(self):
"""Pong."""
await self.bot.say("Pong.")
@commands.command()
async def choose(self, *choices):
"""Chooses between multiple choices.
To denote multiple choices, you should use double quotes.
"""
choices = [escape_mass_mentions(c) for c in choices]
if len(choices) < 2:
await self.bot.say('Not enough choices to pick from.')
else:
await self.bot.say(choice(choices))
@commands.command(pass_context=True)
async def roll(self, ctx, number : int = 100):
"""Rolls random number (between 1 and user choice)
Defaults to 100.
"""
author = ctx.message.author
if number > 1:
n = randint(1, number)
await self.bot.say("{} :game_die: {} :game_die:".format(author.mention, n))
else:
await self.bot.say("{} Maybe higher than 1? ;P".format(author.mention))
@commands.command(pass_context=True)
async def flip(self, ctx, user : discord.Member=None):
"""Flips a coin... or a user.
Defaults to coin.
"""
if user != None:
msg = ""
if user.id == self.bot.user.id:
user = ctx.message.author
msg = "Nice try. You think this is funny? How about *this* instead:\n\n"
char = "abcdefghijklmnopqrstuvwxyz"
tran = "ɐqɔpǝɟƃɥᴉɾʞlɯuodbɹsʇnʌʍxʎz"
table = str.maketrans(char, tran)
name = user.display_name.translate(table)
char = char.upper()
tran = "∀qƆpƎℲפHIſʞ˥WNOԀQᴚS┴∩ΛMX⅄Z"
table = str.maketrans(char, tran)
name = name.translate(table)
await self.bot.say(msg + "(╯°□°)╯︵ " + name[::-1])
else:
await self.bot.say("*flips a coin and... " + choice(["HEADS!*", "TAILS!*"]))
@commands.command(pass_context=True)
async def rps(self, ctx, your_choice : RPSParser):
"""Play rock paper scissors"""
author = ctx.message.author
player_choice = your_choice.choice
red_choice = choice((RPS.rock, RPS.paper, RPS.scissors))
cond = {
(RPS.rock, RPS.paper) : False,
(RPS.rock, RPS.scissors) : True,
(RPS.paper, RPS.rock) : True,
(RPS.paper, RPS.scissors) : False,
(RPS.scissors, RPS.rock) : False,
(RPS.scissors, RPS.paper) : True
}
if red_choice == player_choice:
outcome = None # Tie
else:
outcome = cond[(player_choice, red_choice)]
if outcome is True:
await self.bot.say("{} You win {}!"
"".format(red_choice.value, author.mention))
elif outcome is False:
await self.bot.say("{} You lose {}!"
"".format(red_choice.value, author.mention))
else:
await self.bot.say("{} We're square {}!"
"".format(red_choice.value, author.mention))
@commands.command(name="8", aliases=["8ball"])
async def _8ball(self, *, question : str):
"""Ask 8 ball a question
Question must end with a question mark.
"""
if question.endswith("?") and question != "?":
await self.bot.say("`" + choice(self.ball) + "`")
else:
await self.bot.say("That doesn't look like a question.")
@commands.command(aliases=["sw"], pass_context=True)
async def stopwatch(self, ctx):
"""Starts/stops stopwatch"""
author = ctx.message.author
if not author.id in self.stopwatches:
self.stopwatches[author.id] = int(time.perf_counter())
await self.bot.say(author.mention + " Stopwatch started!")
else:
tmp = abs(self.stopwatches[author.id] - int(time.perf_counter()))
tmp = str(datetime.timedelta(seconds=tmp))
await self.bot.say(author.mention + " Stopwatch stopped! Time: **" + tmp + "**")
self.stopwatches.pop(author.id, None)
@commands.command()
async def lmgtfy(self, *, search_terms : str):
"""Creates a lmgtfy link"""
search_terms = escape_mass_mentions(search_terms.replace(" ", "+"))
await self.bot.say("https://lmgtfy.com/?q={}".format(search_terms))
@commands.command(no_pm=True, hidden=True)
async def hug(self, user : discord.Member, intensity : int=1):
"""Because everyone likes hugs
Up to 10 intensity levels."""
name = italics(user.display_name)
if intensity <= 0:
msg = "(っ˘̩╭╮˘̩)っ" + name
elif intensity <= 3:
msg = "(っ´▽`)っ" + name
elif intensity <= 6:
msg = "╰(*´︶`*)╯" + name
elif intensity <= 9:
msg = "(つ≧▽≦)つ" + name
elif intensity >= 10:
msg = "(づ ̄ ³ ̄)づ{} ⊂(´・ω・`⊂)".format(name)
await self.bot.say(msg)
@commands.command(pass_context=True, no_pm=True)
async def userinfo(self, ctx, *, user: discord.Member=None):
"""Shows users's informations"""
author = ctx.message.author
server = ctx.message.server
if not user:
user = author
roles = [x.name for x in user.roles if x.name != "@everyone"]
joined_at = self.fetch_joined_at(user, server)
since_created = (ctx.message.timestamp - user.created_at).days
since_joined = (ctx.message.timestamp - joined_at).days
user_joined = joined_at.strftime("%d %b %Y %H:%M")
user_created = user.created_at.strftime("%d %b %Y %H:%M")
member_number = sorted(server.members,
key=lambda m: m.joined_at).index(user) + 1
created_on = "{}\n({} days ago)".format(user_created, since_created)
joined_on = "{}\n({} days ago)".format(user_joined, since_joined)
game = "Chilling in {} status".format(user.status)
if user.game is None:
pass
elif user.game.url is None:
game = "Playing {}".format(user.game)
else:
game = "Streaming: [{}]({})".format(user.game, user.game.url)
if roles:
roles = sorted(roles, key=[x.name for x in server.role_hierarchy
if x.name != "@everyone"].index)
roles = ", ".join(roles)
else:
roles = "None"
data = discord.Embed(description=game, colour=user.colour)
data.add_field(name="Joined Discord on", value=created_on)
data.add_field(name="Joined this server on", value=joined_on)
data.add_field(name="Roles", value=roles, inline=False)
data.set_footer(text="Member #{} | User ID:{}"
"".format(member_number, user.id))
name = str(user)
name = " ~ ".join((name, user.nick)) if user.nick else name
if user.avatar_url:
data.set_author(name=name, url=user.avatar_url)
data.set_thumbnail(url=user.avatar_url)
else:
data.set_author(name=name)
try:
await self.bot.say(embed=data)
except discord.HTTPException:
await self.bot.say("I need the `Embed links` permission "
"to send this")
@commands.command(pass_context=True, no_pm=True)
async def serverinfo(self, ctx):
"""Shows server's informations"""
server = ctx.message.server
online = len([m.status for m in server.members
if m.status == discord.Status.online or
m.status == discord.Status.idle])
total_users = len(server.members)
text_channels = len([x for x in server.channels
if x.type == discord.ChannelType.text])
voice_channels = len([x for x in server.channels
if x.type == discord.ChannelType.voice])
passed = (ctx.message.timestamp - server.created_at).days
created_at = ("Since {}. That's over {} days ago!"
"".format(server.created_at.strftime("%d %b %Y %H:%M"),
passed))
colour = ''.join([choice('0123456789ABCDEF') for x in range(6)])
colour = int(colour, 16)
data = discord.Embed(
description=created_at,
colour=discord.Colour(value=colour))
data.add_field(name="Region", value=str(server.region))
data.add_field(name="Users", value="{}/{}".format(online, total_users))
data.add_field(name="Text Channels", value=text_channels)
data.add_field(name="Voice Channels", value=voice_channels)
data.add_field(name="Roles", value=len(server.roles))
data.add_field(name="Owner", value=str(server.owner))
data.set_footer(text="Server ID: " + server.id)
if server.icon_url:
data.set_author(name=server.name, url=server.icon_url)
data.set_thumbnail(url=server.icon_url)
else:
data.set_author(name=server.name)
try:
await self.bot.say(embed=data)
except discord.HTTPException:
await self.bot.say("I need the `Embed links` permission "
"to send this")
@commands.command()
async def urban(self, *, search_terms : str, definition_number : int=1):
"""Urban Dictionary search
Definition number must be between 1 and 10"""
def encode(s):
return quote_plus(s, encoding='utf-8', errors='replace')
# definition_number is just there to show up in the help
# all this mess is to avoid forcing double quotes on the user
search_terms = search_terms.split(" ")
try:
if len(search_terms) > 1:
pos = int(search_terms[-1]) - 1
search_terms = search_terms[:-1]
else:
pos = 0
if pos not in range(0, 11): # API only provides the
pos = 0 # top 10 definitions
except ValueError:
pos = 0
search_terms = "+".join([encode(s) for s in search_terms])
url = "http://api.urbandictionary.com/v0/define?term=" + search_terms
try:
async with aiohttp.get(url) as r:
result = await r.json()
if result["list"]:
definition = result['list'][pos]['definition']
example = result['list'][pos]['example']
defs = len(result['list'])
msg = ("**Definition #{} out of {}:\n**{}\n\n"
"**Example:\n**{}".format(pos+1, defs, definition,
example))
msg = pagify(msg, ["\n"])
for page in msg:
await self.bot.say(page)
else:
await self.bot.say("Your search terms gave no results.")
except IndexError:
await self.bot.say("There is no definition #{}".format(pos+1))
except:
await self.bot.say("Error.")
@commands.command(pass_context=True, no_pm=True)
async def poll(self, ctx, *text):
"""Starts/stops a poll
Usage example:
poll Is this a poll?;Yes;No;Maybe
poll stop"""
message = ctx.message
if len(text) == 1:
if text[0].lower() == "stop":
await self.endpoll(message)
return
if not self.getPollByChannel(message):
check = " ".join(text).lower()
if "@everyone" in check or "@here" in check:
await self.bot.say("Nice try.")
return
p = NewPoll(message, " ".join(text), self)
if p.valid:
self.poll_sessions.append(p)
await p.start()
else:
await self.bot.say("poll question;option1;option2 (...)")
else:
await self.bot.say("A poll is already ongoing in this channel.")
async def endpoll(self, message):
if self.getPollByChannel(message):
p = self.getPollByChannel(message)
if p.author == message.author.id: # or isMemberAdmin(message)
await self.getPollByChannel(message).endPoll()
else:
await self.bot.say("Only admins and the author can stop the poll.")
else:
await self.bot.say("There's no poll ongoing in this channel.")
def getPollByChannel(self, message):
for poll in self.poll_sessions:
if poll.channel == message.channel:
return poll
return False
async def check_poll_votes(self, message):
if message.author.id != self.bot.user.id:
if self.getPollByChannel(message):
self.getPollByChannel(message).checkAnswer(message)
def fetch_joined_at(self, user, server):
"""Just a special case for someone special :^)"""
if user.id == "96130341705637888" and server.id == "133049272517001216":
return datetime.datetime(2016, 1, 10, 6, 8, 4, 443000)
else:
return user.joined_at
class NewPoll():
def __init__(self, message, text, main):
self.channel = message.channel
self.author = message.author.id
self.client = main.bot
self.poll_sessions = main.poll_sessions
msg = [ans.strip() for ans in text.split(";")]
if len(msg) < 2: # Needs at least one question and 2 choices
self.valid = False
return None
else:
self.valid = True
self.already_voted = []
self.question = msg[0]
msg.remove(self.question)
self.answers = {}
i = 1
for answer in msg: # {id : {answer, votes}}
self.answers[i] = {"ANSWER" : answer, "VOTES" : 0}
i += 1
async def start(self):
msg = "**POLL STARTED!**\n\n{}\n\n".format(self.question)
for id, data in self.answers.items():
msg += "{}. *{}*\n".format(id, data["ANSWER"])
msg += "\nType the number to vote!"
await self.client.send_message(self.channel, msg)
await asyncio.sleep(settings["POLL_DURATION"])
if self.valid:
await self.endPoll()
async def endPoll(self):
self.valid = False
msg = "**POLL ENDED!**\n\n{}\n\n".format(self.question)
for data in self.answers.values():
msg += "*{}* - {} votes\n".format(data["ANSWER"], str(data["VOTES"]))
await self.client.send_message(self.channel, msg)
self.poll_sessions.remove(self)
def checkAnswer(self, message):
try:
i = int(message.content)
if i in self.answers.keys():
if message.author.id not in self.already_voted:
data = self.answers[i]
data["VOTES"] += 1
self.answers[i] = data
self.already_voted.append(message.author.id)
except ValueError:
pass
def setup(bot):
n = General(bot)
bot.add_listener(n.check_poll_votes, "on_message")
bot.add_cog(n)
-168
View File
@@ -1,168 +0,0 @@
from discord.ext import commands
from random import choice, shuffle
import aiohttp
import functools
import asyncio
try:
from imgurpython import ImgurClient
except:
ImgurClient = False
CLIENT_ID = "1fd3ef04daf8cab"
CLIENT_SECRET = "f963e574e8e3c17993c933af4f0522e1dc01e230"
GIPHY_API_KEY = "dc6zaTOxFJmzC"
class Image:
"""Image related commands."""
def __init__(self, bot):
self.bot = bot
self.imgur = ImgurClient(CLIENT_ID, CLIENT_SECRET)
@commands.group(name="imgur", no_pm=True, pass_context=True)
async def _imgur(self, ctx):
"""Retrieves pictures from imgur"""
if ctx.invoked_subcommand is None:
await self.bot.send_cmd_help(ctx)
@_imgur.command(pass_context=True, name="random")
async def imgur_random(self, ctx, *, term: str=None):
"""Retrieves a random image from Imgur
Search terms can be specified"""
if term is None:
task = functools.partial(self.imgur.gallery_random, page=0)
else:
task = functools.partial(self.imgur.gallery_search, term,
advanced=None, sort='time',
window='all', page=0)
task = self.bot.loop.run_in_executor(None, task)
try:
results = await asyncio.wait_for(task, timeout=10)
except asyncio.TimeoutError:
await self.bot.say("Error: request timed out")
else:
if results:
item = choice(results)
link = item.gifv if hasattr(item, "gifv") else item.link
await self.bot.say(link)
else:
await self.bot.say("Your search terms gave no results.")
@_imgur.command(pass_context=True, name="search")
async def imgur_search(self, ctx, *, term: str):
"""Searches Imgur for the specified term and returns up to 3 results"""
task = functools.partial(self.imgur.gallery_search, term,
advanced=None, sort='time',
window='all', page=0)
task = self.bot.loop.run_in_executor(None, task)
try:
results = await asyncio.wait_for(task, timeout=10)
except asyncio.TimeoutError:
await self.bot.say("Error: request timed out")
else:
if results:
shuffle(results)
msg = "Search results...\n"
for r in results[:3]:
msg += r.gifv if hasattr(r, "gifv") else r.link
msg += "\n"
await self.bot.say(msg)
else:
await self.bot.say("Your search terms gave no results.")
@_imgur.command(pass_context=True, name="subreddit")
async def imgur_subreddit(self, ctx, subreddit: str, sort_type: str="top", window: str="day"):
"""Gets images from the specified subreddit section
Sort types: new, top
Time windows: day, week, month, year, all"""
sort_type = sort_type.lower()
if sort_type not in ("new", "top"):
await self.bot.say("Only 'new' and 'top' are a valid sort type.")
return
elif window not in ("day", "week", "month", "year", "all"):
await self.bot.send_cmd_help(ctx)
return
if sort_type == "new":
sort = "time"
elif sort_type == "top":
sort = "top"
links = []
task = functools.partial(self.imgur.subreddit_gallery, subreddit,
sort=sort, window=window, page=0)
task = self.bot.loop.run_in_executor(None, task)
try:
items = await asyncio.wait_for(task, timeout=10)
except asyncio.TimeoutError:
await self.bot.say("Error: request timed out")
return
for item in items[:3]:
link = item.gifv if hasattr(item, "gifv") else item.link
links.append("{}\n{}".format(item.title, link))
if links:
await self.bot.say("\n".join(links))
else:
await self.bot.say("No results found.")
@commands.command(pass_context=True, no_pm=True)
async def gif(self, ctx, *keywords):
"""Retrieves first search result from giphy"""
if keywords:
keywords = "+".join(keywords)
else:
await self.bot.send_cmd_help(ctx)
return
url = ("http://api.giphy.com/v1/gifs/search?&api_key={}&q={}"
"".format(GIPHY_API_KEY, keywords))
async with aiohttp.get(url) as r:
result = await r.json()
if r.status == 200:
if result["data"]:
await self.bot.say(result["data"][0]["url"])
else:
await self.bot.say("No results found.")
else:
await self.bot.say("Error contacting the API")
@commands.command(pass_context=True, no_pm=True)
async def gifr(self, ctx, *keywords):
"""Retrieves a random gif from a giphy search"""
if keywords:
keywords = "+".join(keywords)
else:
await self.bot.send_cmd_help(ctx)
return
url = ("http://api.giphy.com/v1/gifs/random?&api_key={}&tag={}"
"".format(GIPHY_API_KEY, keywords))
async with aiohttp.get(url) as r:
result = await r.json()
if r.status == 200:
if result["data"]:
await self.bot.say(result["data"]["url"])
else:
await self.bot.say("No results found.")
else:
await self.bot.say("Error contacting the API")
def setup(bot):
if ImgurClient is False:
raise RuntimeError("You need the imgurpython module to use this.\n"
"pip3 install imgurpython")
bot.add_cog(Image(bot))
-1724
View File
File diff suppressed because it is too large Load Diff
-1096
View File
File diff suppressed because it is too large Load Diff
-692
View File
@@ -1,692 +0,0 @@
from discord.ext import commands
from .utils.dataIO import dataIO
from .utils.chat_formatting import escape_mass_mentions
from .utils import checks
from collections import defaultdict
from string import ascii_letters
from random import choice
import discord
import os
import re
import aiohttp
import asyncio
import logging
import json
class StreamsError(Exception):
pass
class StreamNotFound(StreamsError):
pass
class APIError(StreamsError):
pass
class InvalidCredentials(StreamsError):
pass
class OfflineStream(StreamsError):
pass
class Streams:
"""Streams
Alerts for a variety of streaming services"""
def __init__(self, bot):
self.bot = bot
self.twitch_streams = dataIO.load_json("data/streams/twitch.json")
self.hitbox_streams = dataIO.load_json("data/streams/hitbox.json")
self.mixer_streams = dataIO.load_json("data/streams/beam.json")
self.picarto_streams = dataIO.load_json("data/streams/picarto.json")
settings = dataIO.load_json("data/streams/settings.json")
self.settings = defaultdict(dict, settings)
self.messages_cache = defaultdict(list)
@commands.command()
async def hitbox(self, stream: str):
"""Checks if hitbox stream is online"""
stream = escape_mass_mentions(stream)
regex = r'^(https?\:\/\/)?(www\.)?(hitbox\.tv\/)'
stream = re.sub(regex, '', stream)
try:
embed = await self.hitbox_online(stream)
except OfflineStream:
await self.bot.say(stream + " is offline.")
except StreamNotFound:
await self.bot.say("That stream doesn't exist.")
except APIError:
await self.bot.say("Error contacting the API.")
else:
await self.bot.say(embed=embed)
@commands.command(pass_context=True)
async def twitch(self, ctx, stream: str):
"""Checks if twitch stream is online"""
stream = escape_mass_mentions(stream)
regex = r'^(https?\:\/\/)?(www\.)?(twitch\.tv\/)'
stream = re.sub(regex, '', stream)
try:
data = await self.fetch_twitch_ids(stream, raise_if_none=True)
embed = await self.twitch_online(data[0]["_id"])
except OfflineStream:
await self.bot.say(stream + " is offline.")
except StreamNotFound:
await self.bot.say("That stream doesn't exist.")
except APIError:
await self.bot.say("Error contacting the API.")
except InvalidCredentials:
await self.bot.say("Owner: Client-ID is invalid or not set. "
"See `{}streamset twitchtoken`"
"".format(ctx.prefix))
else:
await self.bot.say(embed=embed)
@commands.command()
async def mixer(self, stream: str):
"""Checks if mixer stream is online"""
stream = escape_mass_mentions(stream)
regex = r'^(https?\:\/\/)?(www\.)?(mixer\.com\/)'
stream = re.sub(regex, '', stream)
try:
embed = await self.mixer_online(stream)
except OfflineStream:
await self.bot.say(stream + " is offline.")
except StreamNotFound:
await self.bot.say("That stream doesn't exist.")
except APIError:
await self.bot.say("Error contacting the API.")
else:
await self.bot.say(embed=embed)
@commands.command()
async def picarto(self, stream: str):
"""Checks if picarto stream is online"""
stream = escape_mass_mentions(stream)
regex = r'^(https?\:\/\/)?(www\.)?(picarto\.tv\/)'
stream = re.sub(regex, '', stream)
try:
embed = await self.picarto_online(stream)
except OfflineStream:
await self.bot.say(stream + " is offline.")
except StreamNotFound:
await self.bot.say("That stream doesn't exist.")
except APIError:
await self.bot.say("Error contacting the API.")
else:
await self.bot.say(embed=embed)
@commands.group(pass_context=True, no_pm=True)
@checks.mod_or_permissions(manage_server=True)
async def streamalert(self, ctx):
"""Adds/removes stream alerts from the current channel"""
if ctx.invoked_subcommand is None:
await self.bot.send_cmd_help(ctx)
@streamalert.command(name="twitch", pass_context=True)
async def twitch_alert(self, ctx, stream: str):
"""Adds/removes twitch alerts from the current channel"""
stream = escape_mass_mentions(stream)
regex = r'^(https?\:\/\/)?(www\.)?(twitch\.tv\/)'
stream = re.sub(regex, '', stream)
channel = ctx.message.channel
try:
data = await self.fetch_twitch_ids(stream, raise_if_none=True)
except StreamNotFound:
await self.bot.say("That stream doesn't exist.")
return
except APIError:
await self.bot.say("Error contacting the API.")
return
except InvalidCredentials:
await self.bot.say("Owner: Client-ID is invalid or not set. "
"See `{}streamset twitchtoken`"
"".format(ctx.prefix))
return
enabled = self.enable_or_disable_if_active(self.twitch_streams,
stream,
channel,
_id=data[0]["_id"])
if enabled:
await self.bot.say("Alert activated. I will notify this channel "
"when {} is live.".format(stream))
else:
await self.bot.say("Alert has been removed from this channel.")
dataIO.save_json("data/streams/twitch.json", self.twitch_streams)
@streamalert.command(name="hitbox", pass_context=True)
async def hitbox_alert(self, ctx, stream: str):
"""Adds/removes hitbox alerts from the current channel"""
stream = escape_mass_mentions(stream)
regex = r'^(https?\:\/\/)?(www\.)?(hitbox\.tv\/)'
stream = re.sub(regex, '', stream)
channel = ctx.message.channel
try:
await self.hitbox_online(stream)
except StreamNotFound:
await self.bot.say("That stream doesn't exist.")
return
except APIError:
await self.bot.say("Error contacting the API.")
return
except OfflineStream:
pass
enabled = self.enable_or_disable_if_active(self.hitbox_streams,
stream,
channel)
if enabled:
await self.bot.say("Alert activated. I will notify this channel "
"when {} is live.".format(stream))
else:
await self.bot.say("Alert has been removed from this channel.")
dataIO.save_json("data/streams/hitbox.json", self.hitbox_streams)
@streamalert.command(name="mixer", pass_context=True)
async def mixer_alert(self, ctx, stream: str):
"""Adds/removes mixer alerts from the current channel"""
stream = escape_mass_mentions(stream)
regex = r'^(https?\:\/\/)?(www\.)?(mixer\.com\/)'
stream = re.sub(regex, '', stream)
channel = ctx.message.channel
try:
await self.mixer_online(stream)
except StreamNotFound:
await self.bot.say("That stream doesn't exist.")
return
except APIError:
await self.bot.say("Error contacting the API.")
return
except OfflineStream:
pass
enabled = self.enable_or_disable_if_active(self.mixer_streams,
stream,
channel)
if enabled:
await self.bot.say("Alert activated. I will notify this channel "
"when {} is live.".format(stream))
else:
await self.bot.say("Alert has been removed from this channel.")
dataIO.save_json("data/streams/beam.json", self.mixer_streams)
@streamalert.command(name="picarto", pass_context=True)
async def picarto_alert(self, ctx, stream: str):
"""Adds/removes picarto alerts from the current channel"""
stream = escape_mass_mentions(stream)
regex = r'^(https?\:\/\/)?(www\.)?(picarto\.tv\/)'
stream = re.sub(regex, '', stream)
channel = ctx.message.channel
try:
await self.picarto_online(stream)
except StreamNotFound:
await self.bot.say("That stream doesn't exist.")
return
except APIError:
await self.bot.say("Error contacting the API.")
return
except OfflineStream:
pass
enabled = self.enable_or_disable_if_active(self.picarto_streams,
stream,
channel)
if enabled:
await self.bot.say("Alert activated. I will notify this channel "
"when {} is live.".format(stream))
else:
await self.bot.say("Alert has been removed from this channel.")
dataIO.save_json("data/streams/picarto.json", self.picarto_streams)
@streamalert.command(name="stop", pass_context=True)
async def stop_alert(self, ctx):
"""Stops all streams alerts in the current channel"""
channel = ctx.message.channel
streams = (
self.hitbox_streams,
self.twitch_streams,
self.mixer_streams,
self.picarto_streams
)
for stream_type in streams:
to_delete = []
for s in stream_type:
if channel.id in s["CHANNELS"]:
s["CHANNELS"].remove(channel.id)
if not s["CHANNELS"]:
to_delete.append(s)
for s in to_delete:
stream_type.remove(s)
dataIO.save_json("data/streams/twitch.json", self.twitch_streams)
dataIO.save_json("data/streams/hitbox.json", self.hitbox_streams)
dataIO.save_json("data/streams/beam.json", self.mixer_streams)
dataIO.save_json("data/streams/picarto.json", self.picarto_streams)
await self.bot.say("There will be no more stream alerts in this "
"channel.")
@commands.group(pass_context=True)
async def streamset(self, ctx):
"""Stream settings"""
if ctx.invoked_subcommand is None:
await self.bot.send_cmd_help(ctx)
@streamset.command()
@checks.is_owner()
async def twitchtoken(self, token : str):
"""Sets the Client-ID for Twitch
https://blog.twitch.tv/client-id-required-for-kraken-api-calls-afbb8e95f843"""
self.settings["TWITCH_TOKEN"] = token
dataIO.save_json("data/streams/settings.json", self.settings)
await self.bot.say('Twitch Client-ID set.')
@streamset.command(pass_context=True, no_pm=True)
@checks.admin()
async def mention(self, ctx, *, mention_type : str):
"""Sets mentions for stream alerts
Types: everyone, here, none"""
server = ctx.message.server
mention_type = mention_type.lower()
if mention_type in ("everyone", "here"):
self.settings[server.id]["MENTION"] = "@" + mention_type
await self.bot.say("When a stream is online @\u200b{} will be "
"mentioned.".format(mention_type))
elif mention_type == "none":
self.settings[server.id]["MENTION"] = ""
await self.bot.say("Mentions disabled.")
else:
await self.bot.send_cmd_help(ctx)
dataIO.save_json("data/streams/settings.json", self.settings)
@streamset.command(pass_context=True, no_pm=True)
@checks.admin()
async def autodelete(self, ctx):
"""Toggles automatic notification deletion for streams that go offline"""
server = ctx.message.server
settings = self.settings[server.id]
current = settings.get("AUTODELETE", True)
settings["AUTODELETE"] = not current
if settings["AUTODELETE"]:
await self.bot.say("Notifications will be automatically deleted "
"once the stream goes offline.")
else:
await self.bot.say("Notifications won't be deleted anymore.")
dataIO.save_json("data/streams/settings.json", self.settings)
async def hitbox_online(self, stream):
url = "https://api.hitbox.tv/media/live/" + stream
async with aiohttp.get(url) as r:
data = await r.json(encoding='utf-8')
if "livestream" not in data:
raise StreamNotFound()
elif data["livestream"][0]["media_is_live"] == "0":
raise OfflineStream()
elif data["livestream"][0]["media_is_live"] == "1":
return self.hitbox_embed(data)
raise APIError()
async def twitch_online(self, stream):
session = aiohttp.ClientSession()
url = "https://api.twitch.tv/kraken/streams/" + stream
header = {
'Client-ID': self.settings.get("TWITCH_TOKEN", ""),
'Accept': 'application/vnd.twitchtv.v5+json'
}
async with session.get(url, headers=header) as r:
data = await r.json(encoding='utf-8')
await session.close()
if r.status == 200:
if data["stream"] is None:
raise OfflineStream()
return self.twitch_embed(data)
elif r.status == 400:
raise InvalidCredentials()
elif r.status == 404:
raise StreamNotFound()
else:
raise APIError()
async def mixer_online(self, stream):
url = "https://mixer.com/api/v1/channels/" + stream
async with aiohttp.get(url) as r:
data = await r.json(encoding='utf-8')
if r.status == 200:
if data["online"] is True:
return self.mixer_embed(data)
else:
raise OfflineStream()
elif r.status == 404:
raise StreamNotFound()
else:
raise APIError()
async def picarto_online(self, stream):
url = "https://api.picarto.tv/v1/channel/name/" + stream
async with aiohttp.get(url) as r:
data = await r.text(encoding='utf-8')
if r.status == 200:
data = json.loads(data)
if data["online"] is True:
return self.picarto_embed(data)
else:
raise OfflineStream()
elif r.status == 404:
raise StreamNotFound()
else:
raise APIError()
async def fetch_twitch_ids(self, *streams, raise_if_none=False):
def chunks(l):
for i in range(0, len(l), 100):
yield l[i:i + 100]
base_url = "https://api.twitch.tv/kraken/users?login="
header = {
'Client-ID': self.settings.get("TWITCH_TOKEN", ""),
'Accept': 'application/vnd.twitchtv.v5+json'
}
results = []
for streams_list in chunks(streams):
session = aiohttp.ClientSession()
url = base_url + ",".join(streams_list)
async with session.get(url, headers=header) as r:
data = await r.json(encoding='utf-8')
if r.status == 200:
results.extend(data["users"])
elif r.status == 400:
raise InvalidCredentials()
else:
raise APIError()
await session.close()
if not results and raise_if_none:
raise StreamNotFound()
return results
def twitch_embed(self, data):
channel = data["stream"]["channel"]
url = channel["url"]
logo = channel["logo"]
if logo is None:
logo = "https://static-cdn.jtvnw.net/jtv_user_pictures/xarth/404_user_70x70.png"
status = channel["status"]
if not status:
status = "Untitled broadcast"
embed = discord.Embed(title=status, url=url)
embed.set_author(name=channel["display_name"])
embed.add_field(name="Followers", value=channel["followers"])
embed.add_field(name="Total views", value=channel["views"])
embed.set_thumbnail(url=logo)
if data["stream"]["preview"]["medium"]:
embed.set_image(url=data["stream"]["preview"]["medium"] + self.rnd_attr())
if channel["game"]:
embed.set_footer(text="Playing: " + channel["game"])
embed.color = 0x6441A4
return embed
def hitbox_embed(self, data):
base_url = "https://edge.sf.hitbox.tv"
livestream = data["livestream"][0]
channel = livestream["channel"]
url = channel["channel_link"]
embed = discord.Embed(title=livestream["media_status"], url=url)
embed.set_author(name=livestream["media_name"])
embed.add_field(name="Followers", value=channel["followers"])
#embed.add_field(name="Views", value=channel["views"])
embed.set_thumbnail(url=base_url + channel["user_logo"])
if livestream["media_thumbnail"]:
embed.set_image(url=base_url + livestream["media_thumbnail"] + self.rnd_attr())
embed.set_footer(text="Playing: " + livestream["category_name"])
embed.color = 0x98CB00
return embed
def mixer_embed(self, data):
default_avatar = ("https://mixer.com/_latest/assets/images/main/"
"avatars/default.jpg")
user = data["user"]
url = "https://mixer.com/" + data["token"]
embed = discord.Embed(title=data["name"], url=url)
embed.set_author(name=user["username"])
embed.add_field(name="Followers", value=data["numFollowers"])
embed.add_field(name="Total views", value=data["viewersTotal"])
if user["avatarUrl"]:
embed.set_thumbnail(url=user["avatarUrl"])
else:
embed.set_thumbnail(url=default_avatar)
if data["thumbnail"]:
embed.set_image(url=data["thumbnail"]["url"] + self.rnd_attr())
embed.color = 0x4C90F3
if data["type"] is not None:
embed.set_footer(text="Playing: " + data["type"]["name"])
return embed
def picarto_embed(self, data):
avatar = ("https://picarto.tv/user_data/usrimg/{}/dsdefault.jpg{}"
"".format(data["name"].lower(), self.rnd_attr()))
url = "https://picarto.tv/" + data["name"]
thumbnail = data["thumbnails"]["web"]
embed = discord.Embed(title=data["title"], url=url)
embed.set_author(name=data["name"])
embed.set_image(url=thumbnail + self.rnd_attr())
embed.add_field(name="Followers", value=data["followers"])
embed.add_field(name="Total views", value=data["viewers_total"])
embed.set_thumbnail(url=avatar)
embed.color = 0x132332
data["tags"] = ", ".join(data["tags"])
if not data["tags"]:
data["tags"] = "None"
if data["adult"]:
data["adult"] = "NSFW | "
else:
data["adult"] = ""
embed.color = 0x4C90F3
embed.set_footer(text="{adult}Category: {category} | Tags: {tags}"
"".format(**data))
return embed
def enable_or_disable_if_active(self, streams, stream, channel, _id=None):
"""Returns True if enabled or False if disabled"""
for i, s in enumerate(streams):
stream_id = s.get("ID")
if stream_id and _id: # ID is available, matching by ID is
if stream_id != _id: # preferable
continue
else: # ID unavailable, matching by name
if s["NAME"] != stream:
continue
if channel.id in s["CHANNELS"]:
streams[i]["CHANNELS"].remove(channel.id)
if not s["CHANNELS"]:
streams.remove(s)
return False
else:
streams[i]["CHANNELS"].append(channel.id)
return True
data = {"CHANNELS": [channel.id],
"NAME": stream,
"ALREADY_ONLINE": False}
if _id:
data["ID"] = _id
streams.append(data)
return True
async def stream_checker(self):
CHECK_DELAY = 60
try:
await self._migration_twitch_v5()
except InvalidCredentials:
print("Error during convertion of twitch usernames to IDs: "
"invalid token")
except Exception as e:
print("Error during convertion of twitch usernames to IDs: "
"{}".format(e))
while self == self.bot.get_cog("Streams"):
save = False
streams = ((self.twitch_streams, self.twitch_online),
(self.hitbox_streams, self.hitbox_online),
(self.mixer_streams, self.mixer_online),
(self.picarto_streams, self.picarto_online))
for streams_list, parser in streams:
if parser == self.twitch_online:
_type = "ID"
else:
_type = "NAME"
for stream in streams_list:
if _type not in stream:
continue
key = (parser, stream[_type])
try:
embed = await parser(stream[_type])
except OfflineStream:
if stream["ALREADY_ONLINE"]:
stream["ALREADY_ONLINE"] = False
save = True
await self.delete_old_notifications(key)
except: # We don't want our task to die
continue
else:
if stream["ALREADY_ONLINE"]:
continue
save = True
stream["ALREADY_ONLINE"] = True
messages_sent = []
for channel_id in stream["CHANNELS"]:
channel = self.bot.get_channel(channel_id)
if channel is None:
continue
mention = self.settings.get(channel.server.id, {}).get("MENTION", "")
can_speak = channel.permissions_for(channel.server.me).send_messages
message = mention + " {} is live!".format(stream["NAME"])
if channel and can_speak:
m = await self.bot.send_message(channel, message, embed=embed)
messages_sent.append(m)
self.messages_cache[key] = messages_sent
await asyncio.sleep(0.5)
if save:
dataIO.save_json("data/streams/twitch.json", self.twitch_streams)
dataIO.save_json("data/streams/hitbox.json", self.hitbox_streams)
dataIO.save_json("data/streams/beam.json", self.mixer_streams)
dataIO.save_json("data/streams/picarto.json", self.picarto_streams)
await asyncio.sleep(CHECK_DELAY)
async def delete_old_notifications(self, key):
for message in self.messages_cache[key]:
server = message.server
settings = self.settings.get(server.id, {})
is_enabled = settings.get("AUTODELETE", True)
try:
if is_enabled:
await self.bot.delete_message(message)
except:
pass
del self.messages_cache[key]
def rnd_attr(self):
"""Avoids Discord's caching"""
return "?rnd=" + "".join([choice(ascii_letters) for i in range(6)])
async def _migration_twitch_v5(self):
# Migration of old twitch streams to API v5
to_convert = []
for stream in self.twitch_streams:
if "ID" not in stream:
to_convert.append(stream["NAME"])
if not to_convert:
return
results = await self.fetch_twitch_ids(*to_convert)
for stream in self.twitch_streams:
for result in results:
if stream["NAME"].lower() == result["name"].lower():
stream["ID"] = result["_id"]
# We might as well delete the invalid / renamed ones
self.twitch_streams = [s for s in self.twitch_streams if "ID" in s]
dataIO.save_json("data/streams/twitch.json", self.twitch_streams)
def check_folders():
if not os.path.exists("data/streams"):
print("Creating data/streams folder...")
os.makedirs("data/streams")
def check_files():
stream_files = (
"twitch.json",
"hitbox.json",
"beam.json",
"picarto.json"
)
for filename in stream_files:
if not dataIO.is_valid_json("data/streams/" + filename):
print("Creating empty {}...".format(filename))
dataIO.save_json("data/streams/" + filename, [])
f = "data/streams/settings.json"
if not dataIO.is_valid_json(f):
print("Creating empty settings.json...")
dataIO.save_json(f, {})
def setup(bot):
logger = logging.getLogger('aiohttp.client')
logger.setLevel(50) # Stops warning spam
check_folders()
check_files()
n = Streams(bot)
loop = asyncio.get_event_loop()
loop.create_task(n.stream_checker())
bot.add_cog(n)
-332
View File
@@ -1,332 +0,0 @@
from discord.ext import commands
from random import choice
from .utils.dataIO import dataIO
from .utils import checks
from .utils.chat_formatting import box
from collections import Counter, defaultdict, namedtuple
import discord
import time
import os
import asyncio
import chardet
DEFAULTS = {"MAX_SCORE" : 10,
"TIMEOUT" : 120,
"DELAY" : 15,
"BOT_PLAYS" : False,
"REVEAL_ANSWER": True}
TriviaLine = namedtuple("TriviaLine", "question answers")
class Trivia:
"""General commands."""
def __init__(self, bot):
self.bot = bot
self.trivia_sessions = []
self.file_path = "data/trivia/settings.json"
settings = dataIO.load_json(self.file_path)
self.settings = defaultdict(lambda: DEFAULTS.copy(), settings)
@commands.group(pass_context=True, no_pm=True)
@checks.mod_or_permissions(administrator=True)
async def triviaset(self, ctx):
"""Change trivia settings"""
server = ctx.message.server
if ctx.invoked_subcommand is None:
settings = self.settings[server.id]
msg = box("Red gains points: {BOT_PLAYS}\n"
"Seconds to answer: {DELAY}\n"
"Points to win: {MAX_SCORE}\n"
"Reveal answer on timeout: {REVEAL_ANSWER}\n"
"".format(**settings))
msg += "\nSee {}help triviaset to edit the settings".format(ctx.prefix)
await self.bot.say(msg)
@triviaset.command(pass_context=True)
async def maxscore(self, ctx, score : int):
"""Points required to win"""
server = ctx.message.server
if score > 0:
self.settings[server.id]["MAX_SCORE"] = score
self.save_settings()
await self.bot.say("Points required to win set to {}".format(score))
else:
await self.bot.say("Score must be superior to 0.")
@triviaset.command(pass_context=True)
async def timelimit(self, ctx, seconds : int):
"""Maximum seconds to answer"""
server = ctx.message.server
if seconds > 4:
self.settings[server.id]["DELAY"] = seconds
self.save_settings()
await self.bot.say("Maximum seconds to answer set to {}".format(seconds))
else:
await self.bot.say("Seconds must be at least 5.")
@triviaset.command(pass_context=True)
async def botplays(self, ctx):
"""Red gains points"""
server = ctx.message.server
if self.settings[server.id]["BOT_PLAYS"]:
self.settings[server.id]["BOT_PLAYS"] = False
await self.bot.say("Alright, I won't embarass you at trivia anymore.")
else:
self.settings[server.id]["BOT_PLAYS"] = True
await self.bot.say("I'll gain a point every time you don't answer in time.")
self.save_settings()
@triviaset.command(pass_context=True)
async def revealanswer(self, ctx):
"""Reveals answer to the question on timeout"""
server = ctx.message.server
if self.settings[server.id]["REVEAL_ANSWER"]:
self.settings[server.id]["REVEAL_ANSWER"] = False
await self.bot.say("I won't reveal the answer to the questions anymore.")
else:
self.settings[server.id]["REVEAL_ANSWER"] = True
await self.bot.say("I'll reveal the answer if no one knows it.")
self.save_settings()
@commands.group(pass_context=True, invoke_without_command=True, no_pm=True)
async def trivia(self, ctx, list_name: str):
"""Start a trivia session with the specified list"""
message = ctx.message
server = message.server
session = self.get_trivia_by_channel(message.channel)
if not session:
try:
trivia_list = self.parse_trivia_list(list_name)
except FileNotFoundError:
await self.bot.say("That trivia list doesn't exist.")
except Exception as e:
print(e)
await self.bot.say("Error loading the trivia list.")
else:
settings = self.settings[server.id]
t = TriviaSession(self.bot, trivia_list, message, settings)
self.trivia_sessions.append(t)
await t.new_question()
else:
await self.bot.say("A trivia session is already ongoing in this channel.")
@trivia.group(name="stop", pass_context=True, no_pm=True)
async def trivia_stop(self, ctx):
"""Stops an ongoing trivia session"""
author = ctx.message.author
server = author.server
admin_role = self.bot.settings.get_server_admin(server)
mod_role = self.bot.settings.get_server_mod(server)
is_admin = discord.utils.get(author.roles, name=admin_role)
is_mod = discord.utils.get(author.roles, name=mod_role)
is_owner = author.id == self.bot.settings.owner
is_server_owner = author == server.owner
is_authorized = is_admin or is_mod or is_owner or is_server_owner
session = self.get_trivia_by_channel(ctx.message.channel)
if session:
if author == session.starter or is_authorized:
await session.end_game()
await self.bot.say("Trivia stopped.")
else:
await self.bot.say("You are not allowed to do that.")
else:
await self.bot.say("There's no trivia session ongoing in this channel.")
@trivia.group(name="list")
async def trivia_list(self):
"""Shows available trivia lists"""
lists = os.listdir("data/trivia/")
lists = [l for l in lists if l.endswith(".txt") and " " not in l]
lists = [l.replace(".txt", "") for l in lists]
if lists:
msg = "+ Available trivia lists\n\n" + ", ".join(sorted(lists))
msg = box(msg, lang="diff")
if len(lists) < 100:
await self.bot.say(msg)
else:
await self.bot.whisper(msg)
else:
await self.bot.say("There are no trivia lists available.")
def parse_trivia_list(self, filename):
path = "data/trivia/{}.txt".format(filename)
parsed_list = []
with open(path, "rb") as f:
try:
encoding = chardet.detect(f.read())["encoding"]
except:
encoding = "ISO-8859-1"
with open(path, "r", encoding=encoding) as f:
trivia_list = f.readlines()
for line in trivia_list:
if "`" not in line:
continue
line = line.replace("\n", "")
line = line.split("`")
question = line[0]
answers = []
for l in line[1:]:
answers.append(l.strip())
if len(line) >= 2 and question and answers:
line = TriviaLine(question=question, answers=answers)
parsed_list.append(line)
if not parsed_list:
raise ValueError("Empty trivia list")
return parsed_list
def get_trivia_by_channel(self, channel):
for t in self.trivia_sessions:
if t.channel == channel:
return t
return None
async def on_message(self, message):
if message.author != self.bot.user:
session = self.get_trivia_by_channel(message.channel)
if session:
await session.check_answer(message)
async def on_trivia_end(self, instance):
if instance in self.trivia_sessions:
self.trivia_sessions.remove(instance)
def save_settings(self):
dataIO.save_json(self.file_path, self.settings)
class TriviaSession():
def __init__(self, bot, trivia_list, message, settings):
self.bot = bot
self.reveal_messages = ("I know this one! {}!",
"Easy: {}.",
"Oh really? It's {} of course.")
self.fail_messages = ("To the next one I guess...",
"Moving on...",
"I'm sure you'll know the answer of the next one.",
"\N{PENSIVE FACE} Next one.")
self.current_line = None # {"QUESTION" : "String", "ANSWERS" : []}
self.question_list = trivia_list
self.channel = message.channel
self.starter = message.author
self.scores = Counter()
self.status = "new question"
self.timer = None
self.timeout = time.perf_counter()
self.count = 0
self.settings = settings
async def stop_trivia(self):
self.status = "stop"
self.bot.dispatch("trivia_end", self)
async def end_game(self):
self.status = "stop"
if self.scores:
await self.send_table()
self.bot.dispatch("trivia_end", self)
async def new_question(self):
for score in self.scores.values():
if score == self.settings["MAX_SCORE"]:
await self.end_game()
return True
if self.question_list == []:
await self.end_game()
return True
self.current_line = choice(self.question_list)
self.question_list.remove(self.current_line)
self.status = "waiting for answer"
self.count += 1
self.timer = int(time.perf_counter())
msg = "**Question number {}!**\n\n{}".format(self.count, self.current_line.question)
await self.bot.say(msg)
while self.status != "correct answer" and abs(self.timer - int(time.perf_counter())) <= self.settings["DELAY"]:
if abs(self.timeout - int(time.perf_counter())) >= self.settings["TIMEOUT"]:
await self.bot.say("Guys...? Well, I guess I'll stop then.")
await self.stop_trivia()
return True
await asyncio.sleep(1) #Waiting for an answer or for the time limit
if self.status == "correct answer":
self.status = "new question"
await asyncio.sleep(3)
if not self.status == "stop":
await self.new_question()
elif self.status == "stop":
return True
else:
if self.settings["REVEAL_ANSWER"]:
msg = choice(self.reveal_messages).format(self.current_line.answers[0])
else:
msg = choice(self.fail_messages)
if self.settings["BOT_PLAYS"]:
msg += " **+1** for me!"
self.scores[self.bot.user] += 1
self.current_line = None
await self.bot.say(msg)
await self.bot.type()
await asyncio.sleep(3)
if not self.status == "stop":
await self.new_question()
async def send_table(self):
t = "+ Results: \n\n"
for user, score in self.scores.most_common():
t += "+ {}\t{}\n".format(user, score)
await self.bot.say(box(t, lang="diff"))
async def check_answer(self, message):
if message.author == self.bot.user:
return
elif self.current_line is None:
return
self.timeout = time.perf_counter()
has_guessed = False
for answer in self.current_line.answers:
answer = answer.lower()
guess = message.content.lower()
if " " not in answer: # Exact matching, issue #331
guess = guess.split(" ")
for word in guess:
if word == answer:
has_guessed = True
else: # The answer has spaces, we can't be as strict
if answer in guess:
has_guessed = True
if has_guessed:
self.current_line = None
self.status = "correct answer"
self.scores[message.author] += 1
msg = "You got it {}! **+1** to you!".format(message.author.name)
await self.bot.send_message(message.channel, msg)
def check_folders():
folders = ("data", "data/trivia/")
for folder in folders:
if not os.path.exists(folder):
print("Creating " + folder + " folder...")
os.makedirs(folder)
def check_files():
if not os.path.isfile("data/trivia/settings.json"):
print("Creating empty settings.json...")
dataIO.save_json("data/trivia/settings.json", {})
def setup(bot):
check_folders()
check_files()
bot.add_cog(Trivia(bot))
-80
View File
@@ -1,80 +0,0 @@
def error(text):
return "\N{NO ENTRY SIGN} {}".format(text)
def warning(text):
return "\N{WARNING SIGN} {}".format(text)
def info(text):
return "\N{INFORMATION SOURCE} {}".format(text)
def question(text):
return "\N{BLACK QUESTION MARK ORNAMENT} {}".format(text)
def bold(text):
return "**{}**".format(text)
def box(text, lang=""):
ret = "```{}\n{}\n```".format(lang, text)
return ret
def inline(text):
return "`{}`".format(text)
def italics(text):
return "*{}*".format(text)
def pagify(text, delims=["\n"], *, escape=True, shorten_by=8,
page_length=2000):
"""DOES NOT RESPECT MARKDOWN BOXES OR INLINE CODE"""
in_text = text
if escape:
num_mentions = text.count("@here") + text.count("@everyone")
shorten_by += num_mentions
page_length -= shorten_by
while len(in_text) > page_length:
closest_delim = max([in_text.rfind(d, 0, page_length)
for d in delims])
closest_delim = closest_delim if closest_delim != -1 else page_length
if escape:
to_send = escape_mass_mentions(in_text[:closest_delim])
else:
to_send = in_text[:closest_delim]
yield to_send
in_text = in_text[closest_delim:]
if escape:
yield escape_mass_mentions(in_text)
else:
yield in_text
def strikethrough(text):
return "~~{}~~".format(text)
def underline(text):
return "__{}__".format(text)
def escape(text, *, mass_mentions=False, formatting=False):
if mass_mentions:
text = text.replace("@everyone", "@\u200beveryone")
text = text.replace("@here", "@\u200bhere")
if formatting:
text = (text.replace("`", "\\`")
.replace("*", "\\*")
.replace("_", "\\_")
.replace("~", "\\~"))
return text
def escape_mass_mentions(text):
return escape(text, mass_mentions=True)
-89
View File
@@ -1,89 +0,0 @@
from discord.ext import commands
import discord.utils
from __main__ import settings
#
# This is a modified version of checks.py, originally made by Rapptz
#
# https://github.com/Rapptz
# https://github.com/Rapptz/RoboDanny/tree/async
#
def is_owner_check(ctx):
_id = ctx.message.author.id
return _id == settings.owner or _id in ctx.bot.settings.co_owners
def is_owner():
return commands.check(is_owner_check)
# The permission system of the bot is based on a "just works" basis
# You have permissions and the bot has permissions. If you meet the permissions
# required to execute the command (and the bot does as well) then it goes through
# and you can execute the command.
# If these checks fail, then there are two fallbacks.
# A role with the name of Bot Mod and a role with the name of Bot Admin.
# Having these roles provides you access to certain commands without actually having
# the permissions required for them.
# Of course, the owner will always be able to execute commands.
def check_permissions(ctx, perms):
if is_owner_check(ctx):
return True
elif not perms:
return False
ch = ctx.message.channel
author = ctx.message.author
resolved = ch.permissions_for(author)
return all(getattr(resolved, name, None) == value for name, value in perms.items())
def role_or_permissions(ctx, check, **perms):
if check_permissions(ctx, perms):
return True
ch = ctx.message.channel
author = ctx.message.author
if ch.is_private:
return False # can't have roles in PMs
role = discord.utils.find(check, author.roles)
return role is not None
def mod_or_permissions(**perms):
def predicate(ctx):
server = ctx.message.server
mod_role = settings.get_server_mod(server).lower()
admin_role = settings.get_server_admin(server).lower()
return role_or_permissions(ctx, lambda r: r.name.lower() in (mod_role,admin_role), **perms)
return commands.check(predicate)
def admin_or_permissions(**perms):
def predicate(ctx):
server = ctx.message.server
admin_role = settings.get_server_admin(server)
return role_or_permissions(ctx, lambda r: r.name.lower() == admin_role.lower(), **perms)
return commands.check(predicate)
def serverowner_or_permissions(**perms):
def predicate(ctx):
if ctx.message.server is None:
return False
server = ctx.message.server
owner = server.owner
if ctx.message.author.id == owner.id:
return True
return check_permissions(ctx,perms)
return commands.check(predicate)
def serverowner():
return serverowner_or_permissions()
def admin():
return admin_or_permissions()
def mod():
return mod_or_permissions()
-46
View File
@@ -1,46 +0,0 @@
from discord.ext.commands.converter import IDConverter
from discord.ext.commands.errors import BadArgument
import re
# This could've been imported but since it's an internal it's safer
# to get it here
def _get_from_servers(bot, getter, argument):
result = None
for server in bot.servers:
result = getattr(server, getter)(argument)
if result:
return result
return result
class GlobalUser(IDConverter):
"""
This is an (almost) straight copy of discord.py's Member converter
The key difference is that if the command is issued in a server it will
first attempt to get the user from that server and upon failing it will
attempt to fish it from the global pool
"""
def convert(self):
message = self.ctx.message
bot = self.ctx.bot
match = self._get_id_match() or re.match(r'<@!?([0-9]+)>$', self.argument)
server = message.server
result = None
if match is None:
# not a mention...
if server:
result = server.get_member_named(self.argument)
if result is None:
result = _get_from_servers(bot, 'get_member_named', self.argument)
else:
user_id = match.group(1)
if server:
result = server.get_member(user_id)
if result is None:
result = _get_from_servers(bot, 'get_member', user_id)
if result is None:
raise BadArgument('User "{}" not found'.format(self.argument))
return result
-79
View File
@@ -1,79 +0,0 @@
import json
import os
import logging
from random import randint
class InvalidFileIO(Exception):
pass
class DataIO():
def __init__(self):
self.logger = logging.getLogger("red")
def save_json(self, filename, data):
"""Atomically saves json file"""
rnd = randint(1000, 9999)
path, ext = os.path.splitext(filename)
tmp_file = "{}-{}.tmp".format(path, rnd)
self._save_json(tmp_file, data)
try:
self._read_json(tmp_file)
except json.decoder.JSONDecodeError:
self.logger.exception("Attempted to write file {} but JSON "
"integrity check on tmp file has failed. "
"The original file is unaltered."
"".format(filename))
return False
os.replace(tmp_file, filename)
return True
def load_json(self, filename):
"""Loads json file"""
return self._read_json(filename)
def is_valid_json(self, filename):
"""Verifies if json file exists / is readable"""
try:
self._read_json(filename)
return True
except FileNotFoundError:
return False
except json.decoder.JSONDecodeError:
return False
def _read_json(self, filename):
with open(filename, encoding='utf-8', mode="r") as f:
data = json.load(f)
return data
def _save_json(self, filename, data):
with open(filename, encoding='utf-8', mode="w") as f:
json.dump(data, f, indent=4,sort_keys=True,
separators=(',',' : '))
return data
def _legacy_fileio(self, filename, IO, data=None):
"""Old fileIO provided for backwards compatibility"""
if IO == "save" and data != None:
return self.save_json(filename, data)
elif IO == "load" and data == None:
return self.load_json(filename)
elif IO == "check" and data == None:
return self.is_valid_json(filename)
else:
raise InvalidFileIO("FileIO was called with invalid"
" parameters")
def get_value(filename, key):
with open(filename, encoding='utf-8', mode="r") as f:
data = json.load(f)
return data[key]
def set_value(filename, key, value):
data = fileIO(filename, "load")
data[key] = value
fileIO(filename, "save", data)
return True
dataIO = DataIO()
fileIO = dataIO._legacy_fileio # backwards compatibility
-299
View File
@@ -1,299 +0,0 @@
from .dataIO import dataIO
from copy import deepcopy
import discord
import os
import argparse
default_path = "data/red/settings.json"
class Settings:
def __init__(self, path=default_path, parse_args=True):
self.path = path
self.check_folders()
self.default_settings = {
"TOKEN": None,
"EMAIL": None,
"PASSWORD": None,
"OWNER": None,
"PREFIXES": [],
"default": {"ADMIN_ROLE": "Transistor",
"MOD_ROLE": "Process",
"PREFIXES": []}
}
self._memory_only = False
if not dataIO.is_valid_json(self.path):
self.bot_settings = deepcopy(self.default_settings)
self.save_settings()
else:
current = dataIO.load_json(self.path)
if current.keys() != self.default_settings.keys():
for key in self.default_settings.keys():
if key not in current.keys():
current[key] = self.default_settings[key]
print("Adding " + str(key) +
" field to red settings.json")
dataIO.save_json(self.path, current)
self.bot_settings = dataIO.load_json(self.path)
if "default" not in self.bot_settings:
self.update_old_settings_v1()
if "LOGIN_TYPE" in self.bot_settings:
self.update_old_settings_v2()
if parse_args:
self.parse_cmd_arguments()
def parse_cmd_arguments(self):
parser = argparse.ArgumentParser(description="Red - Discord Bot")
parser.add_argument("--owner", help="ID of the owner. Only who hosts "
"Red should be owner, this has "
"security implications")
parser.add_argument("--co-owner", action="append", default=[],
help="ID of a co-owner. Only people who have "
"access to the system that is hosting Red "
"should be co-owners, as this gives them "
"complete access to the system's data. "
"This has serious security implications if "
"misused. Can be multiple.")
parser.add_argument("--prefix", "-p", action="append",
help="Global prefix. Can be multiple")
parser.add_argument("--admin-role", help="Role seen as admin role by "
"Red")
parser.add_argument("--mod-role", help="Role seen as mod role by Red")
parser.add_argument("--no-prompt",
action="store_true",
help="Disables console inputs. Features requiring "
"console interaction could be disabled as a "
"result")
parser.add_argument("--no-cogs",
action="store_true",
help="Starts Red with no cogs loaded, only core")
parser.add_argument("--self-bot",
action='store_true',
help="Specifies if Red should log in as selfbot")
parser.add_argument("--memory-only",
action="store_true",
help="Arguments passed and future edits to the "
"settings will not be saved to disk")
parser.add_argument("--dry-run",
action="store_true",
help="Makes Red quit with code 0 just before the "
"login. This is useful for testing the boot "
"process.")
parser.add_argument("--debug",
action="store_true",
help="Enables debug mode")
args = parser.parse_args()
if args.owner:
self.owner = args.owner
if args.prefix:
self.prefixes = sorted(args.prefix, reverse=True)
if args.admin_role:
self.default_admin = args.admin_role
if args.mod_role:
self.default_mod = args.mod_role
self.no_prompt = args.no_prompt
self.self_bot = args.self_bot
self._memory_only = args.memory_only
self._no_cogs = args.no_cogs
self.debug = args.debug
self._dry_run = args.dry_run
self.co_owners = args.co_owner
self.save_settings()
def check_folders(self):
folders = ("data", os.path.dirname(self.path), "cogs", "cogs/utils")
for folder in folders:
if not os.path.exists(folder):
print("Creating " + folder + " folder...")
os.makedirs(folder)
def save_settings(self):
if not self._memory_only:
dataIO.save_json(self.path, self.bot_settings)
def update_old_settings_v1(self):
# This converts the old settings format
mod = self.bot_settings["MOD_ROLE"]
admin = self.bot_settings["ADMIN_ROLE"]
del self.bot_settings["MOD_ROLE"]
del self.bot_settings["ADMIN_ROLE"]
self.bot_settings["default"] = {"MOD_ROLE": mod,
"ADMIN_ROLE": admin,
"PREFIXES": []
}
self.save_settings()
def update_old_settings_v2(self):
# The joys of backwards compatibility
settings = self.bot_settings
if settings["EMAIL"] == "EmailHere":
settings["EMAIL"] = None
if settings["PASSWORD"] == "":
settings["PASSWORD"] = None
if settings["LOGIN_TYPE"] == "token":
settings["TOKEN"] = settings["EMAIL"]
settings["EMAIL"] = None
settings["PASSWORD"] = None
else:
settings["TOKEN"] = None
del settings["LOGIN_TYPE"]
self.save_settings()
@property
def owner(self):
return self.bot_settings["OWNER"]
@owner.setter
def owner(self, value):
self.bot_settings["OWNER"] = value
@property
def token(self):
return os.environ.get("RED_TOKEN", self.bot_settings["TOKEN"])
@token.setter
def token(self, value):
self.bot_settings["TOKEN"] = value
self.bot_settings["EMAIL"] = None
self.bot_settings["PASSWORD"] = None
@property
def email(self):
return os.environ.get("RED_EMAIL", self.bot_settings["EMAIL"])
@email.setter
def email(self, value):
self.bot_settings["EMAIL"] = value
self.bot_settings["TOKEN"] = None
@property
def password(self):
return os.environ.get("RED_PASSWORD", self.bot_settings["PASSWORD"])
@password.setter
def password(self, value):
self.bot_settings["PASSWORD"] = value
@property
def login_credentials(self):
if self.token:
return (self.token,)
elif self.email and self.password:
return (self.email, self.password)
else:
return tuple()
@property
def prefixes(self):
return self.bot_settings["PREFIXES"]
@prefixes.setter
def prefixes(self, value):
assert isinstance(value, list)
self.bot_settings["PREFIXES"] = value
@property
def default_admin(self):
if "default" not in self.bot_settings:
self.update_old_settings()
return self.bot_settings["default"].get("ADMIN_ROLE", "")
@default_admin.setter
def default_admin(self, value):
if "default" not in self.bot_settings:
self.update_old_settings()
self.bot_settings["default"]["ADMIN_ROLE"] = value
@property
def default_mod(self):
if "default" not in self.bot_settings:
self.update_old_settings_v1()
return self.bot_settings["default"].get("MOD_ROLE", "")
@default_mod.setter
def default_mod(self, value):
if "default" not in self.bot_settings:
self.update_old_settings_v1()
self.bot_settings["default"]["MOD_ROLE"] = value
@property
def servers(self):
ret = {}
server_ids = list(
filter(lambda x: str(x).isdigit(), self.bot_settings))
for server in server_ids:
ret.update({server: self.bot_settings[server]})
return ret
def get_server(self, server):
if server is None:
return self.bot_settings["default"].copy()
assert isinstance(server, discord.Server)
return self.bot_settings.get(server.id,
self.bot_settings["default"]).copy()
def get_server_admin(self, server):
if server is None:
return self.default_admin
assert isinstance(server, discord.Server)
if server.id not in self.bot_settings:
return self.default_admin
return self.bot_settings[server.id].get("ADMIN_ROLE", "")
def set_server_admin(self, server, value):
if server is None:
return
assert isinstance(server, discord.Server)
if server.id not in self.bot_settings:
self.add_server(server.id)
self.bot_settings[server.id]["ADMIN_ROLE"] = value
self.save_settings()
def get_server_mod(self, server):
if server is None:
return self.default_mod
assert isinstance(server, discord.Server)
if server.id not in self.bot_settings:
return self.default_mod
return self.bot_settings[server.id].get("MOD_ROLE", "")
def set_server_mod(self, server, value):
if server is None:
return
assert isinstance(server, discord.Server)
if server.id not in self.bot_settings:
self.add_server(server.id)
self.bot_settings[server.id]["MOD_ROLE"] = value
self.save_settings()
def get_server_prefixes(self, server):
if server is None or server.id not in self.bot_settings:
return self.prefixes
return self.bot_settings[server.id].get("PREFIXES", [])
def set_server_prefixes(self, server, prefixes):
if server is None:
return
assert isinstance(server, discord.Server)
if server.id not in self.bot_settings:
self.add_server(server.id)
self.bot_settings[server.id]["PREFIXES"] = prefixes
self.save_settings()
def get_prefixes(self, server):
"""Returns server's prefixes if set, otherwise global ones"""
p = self.get_server_prefixes(server)
return p if p else self.prefixes
def add_server(self, sid):
self.bot_settings[sid] = self.bot_settings["default"].copy()
self.save_settings()
+5
View File
@@ -0,0 +1,5 @@
api_key_env: CROWDIN_API_KEY
project_identifier_env: CROWDIN_PROJECT_ID
files:
- source: /redbot/**/*.pot
translation: /%original_path%/%locale%.po
-1
View File
@@ -1 +0,0 @@
{"playlist": ["https://www.youtube.com/watch?v=6sxnXO2RjVg", "https://www.youtube.com/watch?v=gj0Rz-uP4Mk", "https://www.youtube.com/watch?v=_izUd1S1BX0", "https://www.youtube.com/watch?v=K39qFmvbdww", "https://www.youtube.com/watch?v=ZFo8-JqzSCM", "https://www.youtube.com/watch?v=zD80CostTV0", "https://www.youtube.com/watch?v=mWADuNREJnY", "https://www.youtube.com/watch?v=xelUdXAvDVU", "https://www.youtube.com/watch?v=A2ptDgMOzc0", "https://www.youtube.com/watch?v=YwHrx0r0t2s", "https://www.youtube.com/watch?v=jqxNSvFMkag", "https://www.youtube.com/watch?v=gHgphqx1KT4", "https://www.youtube.com/watch?v=6sxnXO2RjVg", "https://www.youtube.com/watch?v=inb1z-qjxIU", "https://www.youtube.com/watch?v=fZZD8ckwLJA", "https://www.youtube.com/watch?v=xFn9V-VpkQ4", "https://www.youtube.com/watch?v=X7pjP_XkK4U", "https://www.youtube.com/watch?v=QPwPDDz-5Uo", "https://www.youtube.com/watch?v=6jmNe77vces", "https://www.youtube.com/watch?v=dga_ds1bJKg", "https://www.youtube.com/watch?v=oPmaVT-P5Ds", "https://www.youtube.com/watch?v=Ud_JZcC0tHI", "https://www.youtube.com/watch?v=35Cy7DUltYo", "https://www.youtube.com/watch?v=ZvmGLV_GE0M", "https://www.youtube.com/watch?v=7CXFXB4uknI", "https://www.youtube.com/watch?v=4pgbJaKemic", "https://www.youtube.com/watch?v=Jp6j5HJ-Cok", "https://www.youtube.com/watch?v=lzQ8GDBA8Is", "https://www.youtube.com/watch?v=Jt0mg8Z09SY", "https://www.youtube.com/watch?v=I6JZW7zMDfY", "https://www.youtube.com/watch?v=V2u-6XkB9O4", "https://www.youtube.com/watch?v=-ziSLGVQOSg", "https://www.youtube.com/watch?v=XFuAeGdUXQE", "https://www.youtube.com/watch?v=kHmoO_a4dDw", "https://www.youtube.com/watch?v=5XXe_5k_kno", "https://www.youtube.com/watch?v=Rk6YDzmqZ0I", "https://www.youtube.com/watch?v=5MgRt8zdr1I", "https://www.youtube.com/watch?v=50blPXs_F94", "https://www.youtube.com/watch?v=UrGLNtZ0rEg", "https://www.youtube.com/watch?v=atCwKBeq76w", "https://www.youtube.com/watch?v=QdfRZXsqDvc", "https://www.youtube.com/watch?v=lXgzQQ5XsHc", "https://www.youtube.com/watch?v=MAGoqMZRLB4", "https://www.youtube.com/watch?v=T1Ond-OwgU8", "https://www.youtube.com/watch?v=J-gkchrZIOU", "https://www.youtube.com/watch?v=3jrIK7YB0tE", "https://www.youtube.com/watch?v=RFxRTLmtsbE", "https://www.youtube.com/watch?v=0XSaKQlBZuE", "https://www.youtube.com/watch?v=cN-nfmrbvno", "https://www.youtube.com/watch?v=cUWyODR1_sA", "https://www.youtube.com/watch?v=uZ1a6hqxyJo", "https://www.youtube.com/watch?v=_sRkoZ-rbys", "https://www.youtube.com/watch?v=wdEibF6PXKY", "https://www.youtube.com/watch?v=KssCCe6KWcg", "https://www.youtube.com/watch?v=j3e_y9Bc7hs", "https://www.youtube.com/watch?v=QaP2vOdltP0", "https://www.youtube.com/watch?v=-n4kcvGS_Lk", "https://www.youtube.com/watch?v=e65ofKU6X6A", "https://www.youtube.com/watch?v=RDQsAvmPuT8", "https://www.youtube.com/watch?v=AFFaEgk-zeg", "https://www.youtube.com/watch?v=6aEx2xL37lw", "https://www.youtube.com/watch?v=H2GxBxeQGqA", "https://www.youtube.com/watch?v=Q_eE0NPArEY", "https://www.youtube.com/watch?v=WR8sxX0GoFo", "https://www.youtube.com/watch?v=Z_oIZzvSxeE", "https://www.youtube.com/watch?v=xL4oPjTACPo", "https://www.youtube.com/watch?v=aIz1cPfTRW4", "https://www.youtube.com/watch?v=DHG5-GxI_Es", "https://www.youtube.com/watch?v=VdqL8nbNbKg", "https://www.youtube.com/watch?v=mc7oGWgeA8s", "https://www.youtube.com/watch?v=clBEj47wjJM", "https://www.youtube.com/watch?v=Dsagy_qrjwc"], "author": "X"}
-1
View File
@@ -1 +0,0 @@
{"playlist": ["https://www.youtube.com/watch?v=YQ3mpGL0VY8", "https://www.youtube.com/watch?v=blnFOd7r1bQ", "https://www.youtube.com/watch?v=9y_GotF6CTM", "https://www.youtube.com/watch?v=kCOEfyEn7eI", "https://www.youtube.com/watch?v=zQPwKaNCIOM", "https://www.youtube.com/watch?v=Xb-XKrT4CrI", "https://www.youtube.com/watch?v=SqVSMucFDWk", "https://www.youtube.com/watch?v=c5kZPNiz9NI", "https://www.youtube.com/watch?v=x7oKSOUHol0", "https://www.youtube.com/watch?v=W-0u5cCzvIU", "https://www.youtube.com/watch?v=x4ZvQuaRQCY", "https://www.youtube.com/watch?v=ft0q1DSDrGU", "https://www.youtube.com/watch?v=KGxfhFW1N1k", "https://www.youtube.com/watch?v=ZePfzgdD7Lo", "https://www.youtube.com/watch?v=HZKMahE12JM", "https://www.youtube.com/watch?v=cCHgXbs-3Xk", "https://www.youtube.com/watch?v=R99D2HJ_xNI", "https://www.youtube.com/watch?v=ut6Ag6cEFEE", "https://www.youtube.com/watch?v=vQt0yJ7xdAU", "https://www.youtube.com/watch?v=PD-glmz2LHM", "https://www.youtube.com/watch?v=aDdO2PHo7Fc", "https://www.youtube.com/watch?v=p9NGaYbQYCk", "https://www.youtube.com/watch?v=LWPDuX6czUk", "https://www.youtube.com/watch?v=mXe5zkoULqE", "https://www.youtube.com/watch?v=gaZPSqXxD3w", "https://www.youtube.com/watch?v=6CgQq0_lPQ8", "https://www.youtube.com/watch?v=ybE4QlpYK-E", "https://www.youtube.com/watch?v=5WMk862bRxo", "https://www.youtube.com/watch?v=7h_CC_OwoVM", "https://www.youtube.com/watch?v=TkxxF3vds5c", "https://www.youtube.com/watch?v=oTf4poNfRcE", "https://www.youtube.com/watch?v=h4Iz3r6sz5o", "https://www.youtube.com/watch?v=vz58xkToEww", "https://www.youtube.com/watch?v=hQ0WA9KUYzA", "https://www.youtube.com/watch?v=jk96CbY5L6Y", "https://www.youtube.com/watch?v=haMZsdgS9kk", "https://www.youtube.com/watch?v=iKaqohXoWB4", "https://www.youtube.com/watch?v=PRHHODId5Oc", "https://www.youtube.com/watch?v=8MYWwKE47Ds", "https://www.youtube.com/watch?v=yGwxVYwtiQ8", "https://www.youtube.com/watch?v=V4steXh0pYc", "https://www.youtube.com/watch?v=8jV4ptto7AY", "https://www.youtube.com/watch?v=uOpS4y1hMSU", "https://www.youtube.com/watch?v=fa3VZ6Y0lUs", "https://www.youtube.com/watch?v=dsJBa1pV46I"], "author": "X"}
File diff suppressed because one or more lines are too long
-1
View File
@@ -1 +0,0 @@
{"playlist": ["https://www.youtube.com/watch?v=gziaF9VT2D4", "https://www.youtube.com/watch?v=7Okz5qov7Go", "https://www.youtube.com/watch?v=olmgSyTtiwI", "https://www.youtube.com/watch?v=tQFMDOQXW30", "https://www.youtube.com/watch?v=Q4lN5HRjWCQ", "https://www.youtube.com/watch?v=UMlnE9QWma0", "https://www.youtube.com/watch?v=ix6V-l-ro1o", "https://www.youtube.com/watch?v=PdjYXcQPbig", "https://www.youtube.com/watch?v=e9mcNVTpovE", "https://www.youtube.com/watch?v=v3bAw8G-qQ4", "https://www.youtube.com/watch?v=WczTbnB0_lE", "https://www.youtube.com/watch?v=e05sBkIz2h0", "https://www.youtube.com/watch?v=fklAh1ncxng", "https://www.youtube.com/watch?v=t6Xwj1lVZFc", "https://www.youtube.com/watch?v=0IfjbF8aY4o", "https://www.youtube.com/watch?v=sLZ7RCxMCO4"], "author": "X"}
-1
View File
@@ -1 +0,0 @@
{"playlist": ["https://www.youtube.com/watch?v=pfAuWjCXwnw", "https://www.youtube.com/watch?v=ToLBU-zJ2S0", "https://www.youtube.com/watch?v=Z-7OySB0Yb4", "https://www.youtube.com/watch?v=91jSk2G6Dr0", "https://www.youtube.com/watch?v=pbTgi_gLppQ", "https://www.youtube.com/watch?v=8keRZa7hAqM", "https://www.youtube.com/watch?v=XfHdXHqWZyE", "https://www.youtube.com/watch?v=NkYxsnWj8Ds", "https://www.youtube.com/watch?v=XSGxYnnwcLg", "https://www.youtube.com/watch?v=ieTtWb7oHIo", "https://www.youtube.com/watch?v=y2F1BL_p5jk", "https://www.youtube.com/watch?v=Waf_AcAfPWA", "https://www.youtube.com/watch?v=dcx3mzLySew", "https://www.youtube.com/watch?v=-VruEefJAHI", "https://www.youtube.com/watch?v=EUxNv_9Zxns", "https://www.youtube.com/watch?v=C3yP_-lOhzA", "https://www.youtube.com/watch?v=cpjh4_ReUCw", "https://www.youtube.com/watch?v=urmoWFQw4aE", "https://www.youtube.com/watch?v=TAzxVL-xWww", "https://www.youtube.com/watch?v=zve5kLOjITU", "https://www.youtube.com/watch?v=2QceNDYmbAo", "https://www.youtube.com/watch?v=DV8zA27UdVU", "https://www.youtube.com/watch?v=uPQMYfXLpKo"], "author": "X"}
-75
View File
@@ -1,75 +0,0 @@
In China in 2015 the record for the longest mating session between two giant pandas was broken at?`18 minutes`18 mins
Ford claimed to launch the first 'e-(What?)' at the 2015 Mobile World Congress Show?`Bike
A 2015 intensive listening study discovered that giraffes actually?`Hum
Name the last US president to meet the leader of Cuba before Barack Obama did in 2015?`Eisenhower
Jay Z and Beyonce launched a music streaming service in 2015 called? `Tidal
At auction in 2015, $1.2m was paid for Don McLean's original handrwitten lyrics for which 1971 big hit song? `American Pie
In 2015 what global contest ruled against the use of swimsuits for its 114 competitors, for the first time since 1951 inception? `Miss World
Which vast tech corporation opened its first 'Nest' branded intelligent home store in Palo Alto California in 2015?`Google
In 2015 Japan lowered its voting age to what?`18`eighteen
The abbreviation MERS, significantly impacting South Korea 2015, is otherwise known as?`Camel Flu
Christian is the lead character in the film 2015 adaptation of what extraordinarily successful book?`Fifty Shades of Grey`50 shades of grey
Who stepped down as chief of 21st Century Fox in 2015?`Rupert Murdoch`murdoch
In 2015 a new North Korean schools curriculum reportedly included that leader Kim Jong-un learnt to drive at age?`3`three
Which car company launched the Avensis model in 2015?`Toyota
In 2015 evidence of water was found on which planet?`Mars
Which 'BRIC' country launched the Astrosat space lab in 2015?`India
Who won the 2015 men's tennis French Open?`Stan Warwinka`warwinka
What company launched the S6 Edge smartphone?`Samsung
Which leading professional networking tech corporation, whose main revenue is selling user access/details to recruiters, bought the Lynda learning company for $1.5bn in 2015?`Linkedin`linked in
'Dismaland' was the temporary theme park/exhibition of which famous 'anonymous' artist?`Banksy
Matthais Muller was made chief of which troubled car company in 2015?`Volkswagen`vw
In 2015 the World Anti-Doping Agency suggested banning which nation from the 2016 Olympics?`Russia
The game of Monopoly celebrated what anniversary in 2015?`eighty`80`80th
Name the Princess born 4th in succession to the British throne in 2015, to Britain's Duke and Duchess of Cambridge?`Charlotte
The 2015 Mad Max movie is sub-titled?`Fury Road`mad max: fury road`mad max fury road
The Magna Carta, signed in London, and inspiring constitutional rights globally thereafter, was how many years old in 2015?`eight hundred`800
In 2015 the Sinabug volcano erupted in what country?`Indonesia
Olav Bjortmont became 2015 world champion in?`Quizzing`quiz
Lars Lokke led his centre-right party to 2015 government election victory in what country?`Denmark
Blackberry's new phone for 2015 was called the...?`Priv
Facebook's new music sharing/streaming feature launched in 2015 was called "Music... "?`Stories
Eddie Jones was appointed head coach of which English sporting team in 2015?`Rugby Union`rugby
According to 2015 survey what fruit was most popular among USA children?`Apples`apple
Celebrity chef Gordon Ramsey celebrated what birthday in 2015?`49`fourty-nine`fourty nine`49th
Jon Snow was killed off in what TV series in 2015, adapted from GRR Martin's 'A Song of Ice and Fire'?`Game of Thrones
Finance minister Yanis Yaroufakis caused comment for not wearing a tie in February 2015 when negotiating the debts for which nation?`Greece
What nation hosted the 2015 Women's World (soccer) Cup?`Canada
What iconic equine-alluding company, in countless books/films/cowboy holsters, filed for bankruptcy in 2015?`Colt
Due to a 2015 contamination scandal in India/Afica, which corporation destroyed 400 million packets of Maggi noodles?`Nestle
How many years old was the McDonalds fast food company in 2015?`60`sixty
It was announced in 2015 that Alexander Hamilton would be replaced on?`$10 bill`$10`tendollars`ten dollar bill`ten dollar
Name Adele's record-breaking 2015 album?`25
What is the year 2015 in Roman numerals?`MMXV
'Egoportrait' (a Quebecois word) was added to the 2015 French dictionary, meaning what more popular new English word?`Selfie
Who won the men's World Ice Hockey Championship in 2015?`Canada
The space transport company launched in 2015 by Jeff Bezos is called?`Blue Origin
Published in 2015, Go Set a Watchman, written before her only prior and enduringly popular book of 1960, was written by whom?`Harper Lee
Whose 2015 album is 'Purpose'?`Justin Bieber`bieber
The 2015 Tour de France began in what country?`The Netherlands`netherlands
Which company suffered a major scandal in 2015 for widescale unethical 'inertia' charging for its 'Prime' service?`Amazon
Who won the 2015 Superbowl?`New England Patriots`Patriots`the patriots
Whose controversial US presidential campaigning greatly increased his popularity within his party in 2015, yet increased party fears that it would unelectable should he lead it?`Donald Trump`trump
Name the head of FIFA subject to criminal process in 2015?`Sepp Blatter`blatter
A 2015 study found that what percentage of former American Football players had degenerative brain damage?`ninety-six`96`96%
In 2015 Ronda Rousey lost to Holly Holm in what brutal sporting discipline?`UFC`Ultimate Fighting Championship
What dating app caused problems for itself in 2015 when increasing its charges?`Tinder
In 2015 the first ever colour/color photographs were obtained of which celestial body?`Pluto
What country in May 2015 became the first to legalize gay marriage by national referendum?`Ireland
Which country won the 2015 Davis Cup (world team tennis)?`Great Britain
Brazil began to nationalise its (What?) in 2015?`Rainforest
The movie Toy Story was how many years old in 2015?`20`20 years`twenty
Mauricio Marci was elected president of which South American nation in 2015?`Argentina
Lord Coe ceased working for which brand in 2015 due to conflict of interest?`Nike
Frank Sinatra would have celebrated which birthday in 2015?`100`hundred
Facebook's news service launched in 2015 was called?`Notify
On what sprung mechanism did Bristolian Jack Sexty break the world record in 2015 achieving 88,047 bounces in 10hrs 21mins?`Pogo stick
Who had the most liked Instagram photo of 2015?`Kendall Jenner
Who won the Premier League in 2015?`Chelsea`chelsea f.c.
Who won the Rugby World Cup in 2015?`New zealand
How many new iPhones were released this year?`2`two
"L.A. Love (La La)" is the title of a January 2015 Top Ten Smash hit for which singer?`fergie
Microsoft announced which new operating system in January 2015?`windows 10
What is the title of the animated superhero Disney film released in January 2015?`big hero 6`big hero six
Which singer surpassed Elvis in 2015 in terms of all time US album sales?`garth brooks
Who remained in the Top 10 of the music charts around the world with the song "Blank Space" in January 2015?`taylor swift
-143
View File
@@ -1,143 +0,0 @@
Who won the Nobel Prize For Literature?`Bob Dylan
Which Obama did Carpool Karaoke with James Corden?`Michelle Obama`Michelle
How many American presidential debates were there in 2016?`Three`3
Which author became the first American to win the Man Booker Award?`Paul Beatty`Beatty
Which celebrity had the most Instagram followers in 2016?`Selena Gomez
Which famous British author would have celebrated their 100th birthday in September 2016?`Roald Dahl`Dahl
What do they call the robots on 'Westworld'?`Hosts
Which symbolic color did Hillary Clinton and her allies wear during her concession speech?`Purple
Which American reality competition came to an end in 2016?`American Idol
Which dating app now lets you swipe on Apple TV?`Tinder
What actor plays Grindelwald in 'Fantastic Beasts and Where to Find Them'?`Johnny Depp
Where was Hillary Clinton's campaign headquarters?`Brooklyn
Who is Emma Stone's co-star in 'La La Land'?`Ryan Gosling
What is the Mannequin Challenge song?`Black Beatles
The movie 'Fantastic Beasts and Where To Find Them' was inspired by a Harry Potter textbook written by which fictional character?`Newt Scamander
What did Obama and Raul Castro watch together in Cuba?`Baseball
What did John Oliver christen Donald Trump?`Donald Drumpf
Which pop star did Kylie Jenner dress up as for Halloween?`Christina Aguilera
To whom was Donald Trump referring when he said "I like people who weren't captured"?`John McCain
Where was the 2016 Victoria's Secret Fashion Show held?`Paris
What is the name of the 2015 best-selling book about the Clinton Foundation?`Clinton Cash
What animal is Blake Lively fighting in 'The Shallows'?`Shark
Which author became the first black woman to write for Marvel in 2016?`Roxane Gay
What was the name of the hashtag that went viral after Brock Turner's trial?`#thingslongerthanbrockturnerrapes`thingslongerthanbrockturnerrapes
How many new original series did Netflix premiere this year?`50`fifty
What was Amazon's best-selling book of 2016?`Harry Potter and the Cursed Child
What's the name of the rapper at the center of 'Atlanta'?`Paper Boi
Who played Apocalypse In 'X-Men: Apocalypse'?`Oscar Isaac
What Broadway star wrote the music for 'Moana'?`Lin-Manuel Miranda`Lin Manuel Miranda`Miranda
Which main character was shot in the 'Pretty Little Liars' Season 7 summer finale?`Spencer
What popular social media app announced that it was shutting down in 2016?`Vine
What did Rob Kardashian and Blac Chyna name their daughter?`Dream
What was the record-setting Powerball jackpot amount in January 2016?`1.5 billion
Instagram Stories are most like which social media app's signature characteristic?`Snapchat
What kind of shoes did the 'Damn Daniel' guy wear?`White Vans`Vans
Which singer's merch sold more than $1 million in two days at a single pop-up shop?`Kanye West`Kanye
Who was the only woman to host a late-night talk show on network TV in 2016?`Samantha Bee
How many medals did U.S. women athletes take at the Rio Olympics?`61
How many seasonal red cups did Starbucks introduce for the 2016 holidays?`13`thirteen
How many brand new shades of Liptensity lip color did MAC release this year?`24
Which novel won the 2016 National Book Award for fiction?`The Underground Railroad
What's Jennifer Lawrence's character's name in 'Passengers'?`Aurora
Which book, written by Stephen King's son, won a 2016 Goodreads Choice Award for Best Horror Novel?`The Fireman
Who is Harley Quinn in love with in 'Suicide Squad'?`The Joker`Joker
Who did Obama nominate to replace Antonin Scalia?`Merrick Garland`Garland
What is Hermione Granger's job in 'Harry Potter and The Cursed Child'?`Minister of Magic
What fast food place announced it will start delivering soon?`Mcdonald's`Mcdonalds
Which dictator did Donald Trump say we should "give credit" to?`Kim Jong-Un`Kim Jong Un`kimjongun
What Star Wars movie is 'Rogue One' set before?`A New Hope`Episode iv
Who endorsed Trump after Trump called his wife ugly and his father a murderer?`Ted Cruz`Cruz
How much did Estee Lauder buy Too Faced for in November 2016?`1.45 billion
Which popular dating app added a Super Like feature?`Tinder
Which 'Hamilton' star addressed Mike Pence after a show?`Brandon Dixon`Dixon
Which animal was the star of 'Zootopia'?`Bunny`Rabbit
What type of product are MAC's Shadescents?`Perfume
What iconic cartoon character did Colourpop do a collaboration with in 2016?`Hello Kitty
Which season of Yeezy did Kanye show at New York Fashion Week in September 2016?`4`Four
Which book sold 2 million copies in the two days after its release?`Harry Potter and the Cursed Child
Who was the top person searched on Google in 2016?`Donald Trump`Trump
Which country's president did Donald Trump meet with during his campaign?`Mexico
Who was Jennifer Lawrence reportedly dating in 2016?`Darren Aronofsky
How many seasons of 'Fuller House' did Netflix release in 2016?`2`two
Which network premiered Beyoncé's 'Lemonade'?`HBO
Where is Black Panther from in 'Captain America: Civil War'?`Wakanda
Which evil meme took over Twitter at the end of the year?`Evil Kermit
What was the most-searched meme of 2016?`Harambe
Which famed fashion street style photographer died in 2016?`Bill Cunningham`Cunningham
What villain joined 'The Walking Dead,' along with his signature baseball bat weapon?`Negan
How many medals did Michael Phelps end his Olympic career with?`28
Which book won the National Book Award for young people's literature?`March: Book Three`march:book three`march book three`march: book 3`march book 3
'Twilight' author Stephenie Meyer released an adult novel in 2016 called...?`The Chemist
Which designer did Michelle Obama wear to the final Obama White House State Dinner?`Versace
Which fruit did Too Faced feature in their most popular eyeshadow palette of 2016?`Peach
What was the top Google search for 2016?`Powerball
In which month did the U.K. vote to leave the EU?`June
In which city did Uber launch self-driving cars?`Pittsburgh
How did Hillary Clinton announce that she was running for president?`Youtube
Which fast-food brand saw sales tank after an E. coli crisis?`Chipotle
Which celebrity interviewed El Chapo for 'Rolling Stone'?`Sean Penn
What's Deadpool's real name?`Wade Wilson
What is the name of Beyoncé's athleisure line at Topshop?`Ivy Park
Where did the Democratic National Convention take place?`Philadelphia
Which dating app added a feature to help you find a BFF?`Bumble
Which luxury fashion brand held a major fashion show in Cuba in 2016?`Chanel
Which author topped Forbes' list of the World's Highest Paid Authors in 2016?`James Patterson`Patterson
What was the theme of the 2016 Met Gala?`Manus x machina
What did Michael Phelps and Nicole Johnson name their son?`Boomer
Which woman's name made Batman and Superman stop fighting in 'Batman v Superman'?`Martha
Which famous children's author surprised everyone by joining Tumblr in 2016?`Judy Blume
When was the last time the Cubs had won the World Series before 2016?`1908
Which novel won the Man Booker International Prize?`The Vegetarian
Which book won the Pulitzer Prize for fiction in 2016?`The Sympathizer
What did Kylie Jenner name her Kylie Cosmetics eyeshadow palette?`Kyshadow
What color was Ryan Lochte's hair at the Rio Olympics?`Blue
After which primary did Jeb Bush drop out of the presidential race?`South Carolina
What is it called when an ex or former crush pops back up?`zombieing
What month were the Panama Papers leaked?`April
Which artist won the Grammy for Album of the Year with her album "1989" at the 2016 Grammy Awards?`Taylor Swift
This 2016 superhero film sees our hero Wade Wilson hunting down the man who gave him a scarred physical appearance.`Deadpool
Both big hits in 2016, the songs "Sorry" and "Love Yourself" were released by which Canadian singer and songwriter?`Justin Bieber`Bieber
Often referred to as the "Fifth Beatle", which English record producer, that worked with the Beatles, died on March 8th, 2016?`George Martin
Which movie won the Oscar for Best Picture at the 2016 Academy Awards ceremony?`Spotlight
Making its debut in January of 2016, Jennifer Lopez plays the role of New York detective Harlee Santos on which crime drama TV show?`Shades of Blue
Rihanna hit number one on the Billboard 200 in March of 2016 with what album?`Anti
The 2016 Summer Olympics will took place in which South American city?`Rio de Janeiro
This heavy metal band had a hit with a cover of the 1964 Simon and Garfunkel hit song "The Sound of Silence".`Disturbed
Created in America, what 2016 science fiction drama TV series features the actors Josh Holloway and Sarah Wayne Callies?`Colony
The Rolling Stones made rock 'n' roll history with a free concert in which country in March of 2016?`Cuba
Who finished second in the medals table to USA at the Rio 2016 Olympic Games?`Great Britain
How old was Gene Wilder when he sadly passed away in August 2016?`83
Which country carried out its fifth and biggest nuclear test in September of 2016?`North Korea
Complete the title of the 2016 Kanye West album "The Life of ..."?`Pablo
What anniversary of Shakespeare's death was widely celebrated in 2016?`400
Which film won the most Oscars at the 2016 Academy Awards with six?`Mad Max - Fury Road`Mad max fury road`mad max: fury road
Which team won the MLB (Major League Baseball) 2016 World Series?`Chicago Cubs`Cubs
Boxing great "Muhammad Ali" died in 2016 at what age?`74
Which TV show won "Outstanding Drama Series" at the 2016 Emmys?`Game of Thrones
NASA's "Juno" became the second craft to orbit which planet in 2016?`Jupiter
Complete the title of this 2016 Stephen King novel "End of ..."?`Watch
Which team won the UEFA European Championships in 2016?`Portugal
Which team took gold in Women's Hockey at the Rio 2016 Olympic Games?`Great Britain
Which country announced its decision to withdraw from the Commonwealth of Nations on October 13th, 2016?`The Maldives`Maldives`republic of maldives
With a vote of 61 to 20, the Brazilian Senate impeached which President of Brazil on August 31st, 2016?`Dilma Rousseff`Rousseff
On January 28th, 2016, what virus outbreak was announced by the World Health Organization?`Zika Virus`Zika
Who won the Favorite Pop/Rock Female Artist Award at the 2016 American Music Awards?`Selena Gomez
Which team won the CFL Grey Cup in November of 2016?`Ottawa Redblacks`Redblacks
Making its 32nd season debut in February of 2016, Survivor was filmed in Koh Rong, which is located in which country?`Cambodia
Which group won Vocal Group of the Year at the 2016 Academy of Country Music Awards?`Little Big Town
How old was English singer "David Bowie" when he died two days after his birthday on January 10th 2016?`69
For playing the role of troubled mother "Joy Newsome," who won the 2016 Academy Award for Best Actress?`Brie Larson
This 2016 hit by Tim McGraw opens with the lyric - "You know there's a light that glows by the front door. Don't forget the key's under the mat".`Humble and Kind
Chris Pratt won Best Action Performance at the 2016 MTV Movie Awards for his role as Owen Grady in which science fiction film?`Jurassic World
Taking place from March 28 to April 3, which female skater won the gold medal at the 2016 World Figure Skating Championships?`Evgenia Medvedeva`Medvedeva
Released in February of 2016, name British singer-songwriter Elton John's 32nd studio album.`Wonderful Crazy Night
Which actor won Best Male Performance for his role as Hugh Glass in the film "The Revenant" at the 2016 MTV Movie Awards?`Leonardo DiCaprio`Dicaprio
Based on a book by Rudyard Kipling, this 2016 film features Mowgli, an orphaned human boy who was raised by wolves since birth.`The Jungle Book
Who won the final season (15) of American Idol on April 7, 2016?`Trent Harmon`Harmon
With the release of the album "The Life of Pablo," which artist saw eight of their songs debut on the Billboard Hot 100 in April of 2006?`Kanye West`Kanye
Which artist won Female Vocalist of the Year at the 2016 Academy of Country Music Awards?`Miranda Lambert
In a post-apocalyptic world, Cassie Sullivan will do whatever it takes to find her brother Sam. Name the 2016 film.`The 5th Wave
Where did Chewbacca Mom buy her mask?`Kohl's`Kohls
How old was Prince when he passed?`57
Which first generation Pokémon wasn't initially able to be caught in 'Pokémon Go,' but has since been added?`Ditto
-506
View File
@@ -1,506 +0,0 @@
Which genre is aimed at girls between 10-18?`shoujo
When was the first known Japanese animation produced?`1917
The practice of dressing up like anime characters in Japan is called?`cosplay
In yaoi pairing, what is the "receiving", "bottom", or passive partner known as?`uke
In yaoi pairing, what is the "top" or dominant partner known as?`seme
What is a popular anime/manga character archetype that derives from the Japanese pronunciation of the English word 'cool'?`kuudere`coodere
What is a Japanese term for a character development process that describes a person who is initially cold and even hostile towards another person before gradually showing their warm side over time?`tsundere
Type of anime aimed at young boys under the age of fifteen?`shonen
Type of anime aimed at young men between the ages of 15-24?`seinen
Type of anime aimed at adult women?`josei
Type of anime largely focused on one distinct aspect: pilotable robots?`mecha`robot
Type of anime about innocent young girls using a magical object to transform into a superhero version of themselves?`magical girl`mahou shoujo`majokko
Type of anime which do not show sexual intercourse or genitalia, but sexual themes are referenced?`ecchi
Type of anime where one male character, the protagonist, at the center of a group of female characters who are all vying for his romantic affections?`harem
What character type is a heroine that started as a villain trying to kill the protagonist but then switched to his side after falling in love with him?`mayadere
It's common in anime for a character to pull their lower eyelid down to taunt someone. What is this called?`akanabe
What anime character type is known as a quiet and often antisocial character?`dandere
What character type is very loving and gentle to someone before their devotion becomes destructive in nature, often through violence and/or brutality?`yandere
What genre of anime covers female to female sexual relationships?`Yuri
What genre of anime covers male to male sexual relationships?`Yaoi
Which Hayao Miyazaki movie was based off of a book by a British author named Dianna Wynne Jones?`Castle in the sky
As of 2015, among all the 17 long anime movies Hayao Miyazaki participated in, how many did he direct?`11`eleven
(Attack on Titan) Who is the main character?`Eren Yeager`Eren
(Attack on Titan) Which character loves to eat?`Sasha Blouse`Sasha
(Attack on Titan) What is the outer wall named (The one taken by the titans)?`Wall Maria`Maria
(Attack on Titan) How many men did Eren kill during the scene in which he rescued the kidnapped Misaka when they were children (Shingeki no Kyojin)?`2`two
(Attack on Titan) What color flare is used when the mission is over whether or nor it was a success?`Yellow
(Attack on Titan) Who killed Rod Reiss?`Historia
(Attack on Titan) What was the name of Levi's mother?`Kuchel
(Attack on Titan) Who taught Annie how to fight?`Her father`Father
(Attack on Titan) What was the name of Historia's mother?`Alma
(Attack on Titan) What protects the Colossal titan?`Steam
(Attack on Titan) What is the name of the wall in Wall Sina's northern district?`Orvud
(Attack on Titan) What is the name of the newspaper in the Stohess district?`Berg Newspaper`Berg
(Attack on Titan) Who did Grisha eat in order to steal the Coordinate?`Frieda Reiss`Frieda
(Attack on Titan) Who ruined Eren's equipment when they were trainees?`Keith Shadis`Keith`Shadis
(Attack on Titan) "Only the victors are allowed to live. This world is merciless like that." Who said this?`Mikasa
(Attack on Titan) What did Carla do for a living before she met Grisha?`waitress
(Attack on Titan) "I just don't want those charred bones I saw to be disappointed in me. I... I know what I have to do now." Who said this?`Jean
(Attack on Titan) Who would become the commander of the Scouting Legion if something were to happen to Erwin?`Hange
(Beyblade) What is the name of Emily's bitbeast?`Trygator
English name of Kuroshitsuji?`Black Butler
(Black Butler) Who is the British monarch in Black Butler's time period?`Victoria I`Queen Victoria I
(Black Cat) How many members of Chronos were there originally?`13`thirteen
(Black Cat) Out of which material are Train Heartnet's gun and bullets mainly made of?`orichalcum
(Black Cat) Who is the main character?`Train Heartnet
Which series features a location called the Soul Society?`Bleach
(Bleach) How many times have Ichigo and Renji battled?`2`two
(Bleach) What squad is Toushiro Hitsugaya the captain of?`10`10th`tenth`ten
(Bleach) Human mediums, having the ability to detect the existence of Hollows?`Quincy
(Bleach) What is a Hollow that has removed its mask and has gained Shinigami-like powers?`Arrancar
(Bleach) What is the name of Hitsugaya Toshirou's Zanpakutou?`Hyourinmaru
(Bleach) Who does Orikasa Fumiko voice?`Rukia
(Bleach) Who are Shinigami who have obtained Hollow powers?`Visored
(Bleach) Who are the top ranked Arrancar?`Espada
(Bleach) What is the name of Orihime's power which is manifested through her hairpins?`Shun Shun Rikka
(Bleach) What is the name of Urahara's Zanpakutou?`Benihime
(Bleach) What is the name of Ichigo's Zanpakutou?`Zangetsu
(Bleach) What is the ritual performed by Shinigami to send Pluses to Soul Society?`Konso
(Bleach) Jigokucho which are used as messengers in Soul Society are what type of animal?`Butterfly
(Bleach) What are the artificial bodies used by Shinigami in the World of the Living?`Gigai
(Bleach) What is the name of Karin's twin?`Yuzu
In what CLAMP anime is there a little Persocon named Chii?`Chobits
(Chobits) What is the first thing that came on the screen in episode 1?`cow
(Code Geass) The character Li Xingke is a member of which group?`the chinese federation`chinese federation
(Code Geass) The leader of the Four Holy Swords is named...?`General Kyoshiro Tohdoh`general tohdoh`kyoshiro tohdoh`tohdoh
(Code Geass) What was the white Knightmare Frame piloted by Suzaku called?`Lancelot
(Code Geass) What game does Lelouch skip school to play?`chess
(Code Geass) Wat was the name of the academy Lelouch went to?`Ashford Academy`Ashford
(Code Geass) At the very end, how many characters were aware of Lelouch's true intentions?`4`four
(Code Geass) What is also known as the "Power of Kings"?`Geass
(Code Geass) Who had a geass which allows them to telepathically hear the conscious thoughts of anyone within an radius of five hundred meters?`Mao
(Code Geass) Who had a geass which gave them the power to be loved?`C.C.`cc
(Code Geass) Who did Marianne vi Britannia transfer her consciousness into?`Anya Alstreim`Anya
(Code Geass) Who piloted the Knightmare Frame named "Percival"?`Luciano Bradley`Luciano
(Code Geass) Who piloted the Knightmare Frame named "Mordred"?`Anya Alstreim`Anya
(Code Geass) Who is the Knight of Three?`Gino Weinberg`Gino
(Code Geass) Who piloted the Knightmare Frame known as "Tristan"?`Gino Weinberg`Gino
(Code Geass) Who is the Knight of Zero?`Suzaku Kururugi`Suzaku
(Code Geass) What is the name of Suzaku's cat?`Arthur
(Code Geass) Who becomes mentally unstable after Euphemia's death?`Nina Einstein`Nina
(Code Geass) Who is the Secretary of the Ashford Academy Student Council?`Rivalz Cardemonde`Rivalz
(Code Geass) What is the name of the floating fortress developed by the Toromo Agency at Cambodia?`Damocles
(Code Geass) Who is the second prince of the Britannian Imperial Family and the only person Lelouch was unable to beat at chess as a child?`Schneizel el Britannia`Schneizel
(Code Geass) Who is the second princess of Britannia also known as the "Witch of Britannia"?`Cornelia li Britannia`Cornelia
(Code Geass) Who has the codename "Q-1"?`Kallen Kozuki`Kallen Stadtfeld`Kallen
(Code Geass) What is the name of the Indian scientist and the head of the Black Knights' research and development team?`Rakshata Chawla`Rakshata
(Code Geass) What is the name of the coalition of states created to counter Britannia?`United Federation of Nations
(Code Geass) Who is the leader of the United Federation of Nations?`Kaguya Sumeragi`Kaguya
(Code Geass) Who is the leader of the Chinese Federation?`Empress Tianzi`Tianzi
(Code Geass) Aside from Britannia and the Chinese Federation, what is the third major superpower in the world?`Europia United
(Code Geass) What is the capitol of the Holy Britannian Empire?`Pendragon
(Code Geass) Who unknowingly killed Shirley's father?`Kallen Kozuki`Kallen Stadtfeld`Kallen
(Code Geass) What is Villetta Nu's Japanese name?`Chigusa
(Code Geass) Who rescues Villetta Nu after her amnesia?`Kaname Ohgi`Ohgi
(Code Geass) Who is the head of the swimming club?`Villetta Nu`Villetta
(Code Geass) What is the name of Lelouch and Nunnally's maid?`Sayoko Shinozaki`Sayoko
(Code Geass) What is the name of the group of 8 men who controlled the Chinese Federation through the Empress?`High Eunuchs`the high eunuchs
(Code Geass) Who is the Eunuch Gao Hai executed by?`Li Xingke`Xingke
(Code Geass) Who kills Shirley?`Rolo Lamperouge`Rolo
(Code Geass) Who is the only female member of the Four Holy Swords?`Nagisa Chiba`Chiba
(Code Geass) What is the name of the elite unit commanded by Kyoshiro Tohdoh?`Four Holy Swords
(Code Geass) Who is in love with Tohdoh?`Nagisa Chiba`Chiba
(Code Geass) What is the name of the Knightmare Frame custom built for Kyoshiro Tohdoh by the Militarized Zone of India?`Zangetsu
(Code Geass) What is the name of the warhead developed by Nina?`F.L.E.I.J.A.`FLEIJA
(Code Geass) What are the structures associated with Geass that work through a person's memories?`Thought Elevator
(Code Geass) Who is the first prince of Britannia?`Odysseus eu Britannia`Odysseus
(Code Geass) What is the name of the aerial carrier of the Black Knights?`Ikaruga
(Code Geass) Who killed prince clovis?`lelouch
(Code Geass) Who is Suzaku's cousin?`Kaguya Sumeragi`Kaguya
(Cowboy Bebop) What is the villan Vicious's weapon of choice?`katana
(Cowboy Bebop) Who dies?`Spike
Which anime involves a Corgi hound named Ein as one of the characters?`cowboy bebop
(Death Note) Who is the second Kira?`Misa Amane`misa
(Death Note) Who is the first Kira?`Light Yagami`Light
(Death Note) Who is the third Kira?`Kyosuke Higuchi`Kyosuke
(Death Note) What is the default way the Death Note kills?`cardiac paralysis
(Death Note) What is the name of the Shinigami that owns the Death Note Light Yagami uses?`Ryuk
(Death Note) What is L's real name?`L Lawliet
(Death Note) Who did the first Death Note to be picked up belong to?`Sidoh
(Death Note) When Misa meets Light, what is her occupation?`Model
(Death Note) What nickname is given to Raito (Light) after he finds the Death Note?`Kira
(Death Note) What is Ryuuku's favorite food?`Apple
(Death Note) What did L tell the Japanese Task Force to call him?`Ryuzaki
(Death Note) Who was L's butler/caregiver/handler?`Watari
(Death Note) Who did L always call an idiot?`Matsuda
(Death Note) What is Light's last name?`Yagami
(Death Note) What was the name of the inside man in the Yotsuba group?`Renji Namikawa
(Death Note) What does SPK stand for?`Special Provision for Kira
(Death Note) What is the title of the final chapter of death note manga?`Finis
(Death Note) Who was the first person that Light killed?`Kurou Otoharada`Kurou`Otoharada
(Death Note) What does L hate?`Socks
(Death Note) What is the character Mello (Mihael Keehl) addicted to eating?`Chocolate
(Death Note) If L sits normally, he claims his deductive reasoning reasoning will drop by what percent?`40`Forty
(Detective Conan) What is Shinichi Kudo's best sport?`soccer`football
(Digimon) Which year was the American adaptation of Digimon: The Movie released?`2000
(Digimon) What was Taichi Kamiya's first Digimon?`Botamon
(Dragon Ball Z) How many dragon balls are there?`7`seven
(Dragon Ball Z) Who does a complete set of dragon balls summon?`Shenron
(Dragon Ball Z) What race is Piccolo?`Namekian`Nameks
(Dragon Ball Z) Who kills Frieza?`Future Trunks`Trunks
(Dragon Ball Z) Who sacrifices his life for Gohan from an incoming blast from Nappa in the Saiyan Saga?`Piccolo
(Dragon Ball Z) Which android is the only one who marries?`18
For which anime were these songs written: "Cha La Head Cha La" and "Boku-tachi wa Tenshi Datta"?`Dragon Ball Z
(Durarara) What is the name of the hot tempered bar tender with super human strength?`Shizuo
(Fairy Tail) Where did Lucy get her guild mark?`Right hand
(Fairy Tail) Who was the first guild master of Fairy Tail?`Mavis
(Fairy Tail) Where is the location of the Fairy Tail guildhouse?`Magnolia Town`Magnolia
(Fairy Tail) What is the name of the dragon that raised Natsu in Fairy Tail?`Igneel
(Fairy Tail) What is Lucy's last name?`Heartfilia
(Fairy Tail) Who has the power "Satan Soul"?`Mirajane
(Fairy Tail) Aside from Wendy, who is the other Sky Sister?`Sherria
(Fairy Tail) Who is the leader of the guild Lamia Scale?`Ooba Babasaama`Ooba
(Fairy Tail) What type of magic does Jura use?`Earth Magic`Earth
(Fairy Tail) What are Laxus' followers called?`Thunder God Tribe
(Fairy Tail) Who is Evergreen romantically involved with?`Elfman
(Fairy Tail) Who is Cana's father?`Gildarts
(Fairy Tail) Where is Natsu's guild mark?`Right shoulder
(Fairy Tail) Who was able to use the skill "Fairy Glitter"?`Cana
(Fairy Tail) Where is the holy ground for the guild Fairy Tail?`Tenrou Island
(Fairy Tail) What is the brand of Erza's casual armor?`Heart Kreuz
(Fairy Tail) Who is also known as Titania?`Erza Scarlet`Erza
(Fairy Tail) What is Gray's last name?`Fullbuster
(Fairy Tail) Who taught Gray his magic?`Ur
(Fairy Tail) Which continent do the Ten Wizard Saints come from?`Ishgar
(Fairy Tail) Who uses Arc of Time magic?`Ultear
(Fairy Tail) What is Erza's favorite brand of armor?`Heart Kreuz
(Fooly Cooly) How many manga-like (comic-like) scenes are there in total?`2`two
(Fooly Cooly) There are a couple of scenes where you see the commander getting a haircut. What popular show's animation resembles the special animation in this scene?`South Park
(Fruits Basket) What is the last name of the cursed family Tohru stays with?`Sohma
(Fruits Basket) What is the kind of animal does Momiji turn into?`rabbit`bunny
(Fruits Basket) What spirit is Akito possessed by?`God
(Fruits Basket) What Zodiac animal is Kyo Sohma?`cat
(Fullmetal Alchemist) What is Edward's and Alphonse's last name?`Elric
(Fullmetal Alchemist) Who kills Hughes?`Envy
(Fullmetal Alchemist) What is the automotive armored prostheses?`automail
(Fullmetal Alchemist) What did Ed sacrifice in order to seal his brother's soul into a suit of armour?`right arm`arm
(Fullmetal Alchemist) Colonel Roy Mustang is also known as the Alchemist of__?`Flame
(Fullmetal Alchemist) What is King Bradley aka Pride's son called?`Selim
(Fullmetal Alchemist) Who taught the Elric brothers alchemy?`Izumi Curtis`Izumi
(Fullmetal Alchemist) Which Homunculus uses carbon as their power?`Greed
(Fullmetal Alchemist) Solf J. Kimblee is known as the ___ Alchemist?`Crimson
(Fullmetal Alchemist) What Language is Riza's Tattoo Writen In?`Latin
(Fullmetal Alchemist) The Father of the Homunculi can stop which style of alchemy?`Western Armestris
(Fullmetal Alchemist) In the manga what is the date in Ed's pocket watch?`3.Oct.10
(Fullmetal Alchemist) What does Edward hate to drink?`milk
(Fullmetal Alchemist) Basque Grand is known as the __ Alchemist?`Iron Blood
(Fullmetal Alchemist) what is the first law of alchemy?`equivalent exchange
(Fullmetal Alchemist) Who Says This “I have no desire to live a carefree, happy life alone..."?`Riza
(Fullmetal Alchemist) What room number is the Fuhrer's?`103
(Fullmetal Alchemist) What is Envy's nickname for Edward?`Fullmetal pipsqueak
(Fullmetal Alchemist) What is the symbol on the back of Edward's red coat called?`flammel
(Fullmetal Alchemist) According To Fuhrer Bradley What Is Roy's Weakness?`Riza`Riza Hawkeye
(Fullmetal Alchemist) When Mustang was forced to do human transmutation in fma: brotherhood what did he loose?`eyesight`vision
(Fullmetal Alchemist) How is Envy related to Ed and Al?`brother`brothers
(Fullmetal Alchemist) How tall is Edward?`4'6"`four and a half feet`four foot six inches`four foot 6
(Fullmetal Alchemist) What does Winry do for a living?`mechanic
(Fullmetal Alchemist) What's Hughes's daughter's name?`elicia
(Fullmetal Alchemist) What is the name of Ed and Al's mother?`Trisha Elric`Trisha
(Fullmetal Alchemist) What did Ed give up to revive his mother?`left leg
(Fullmetal Alchemist) Who is Ed's father?`Hohenheim
(Fullmetal Alchemist) How old was Edward when he became a state alchemist?`12`twelve
(Fullmetal Alchemist) What is the name of the Ishbalan people's god?`Ishbala
(Fullmetal Alchemist) What is Winry's last name?`Rockbell
(Fullmetal Alchemist) What is the name of transmutation circle used to make the Philosopher Stone?`Grand Arcanum
(Fullmetal Alchemist) Shou Tucker was known as the __ Alchemist?`Sewing Life
(Fullmetal Alchemist) Who kills Lust?`Colonel Mustang`Mustang`Roy mustang
(Fullmetal Alchemist) Whose nickname is the "Ultimate Spear"?`Lust
(Fullmetal Alchemist) Who sparked the Ishval Civil War?`Envy
(Fullmetal Alchemist) Who was the second Homunculus created by Father?`Lust
(Fullmetal Alchemist) Who is the only female Homunculus?`Lust
(Fullmetal Alchemist) Alex Louis Armstrong is also known as the __ Alchemist?`Strong Arm`strongarm
(Fullmetal Alchemist) Who is known as the Northern Wall of Briggs?`Olivier Mira Armstrong`Olivier Armstrong
(Fullmetal Alchemist) Who is a pseudo Gate of Truth?`Gluttony
(Fullmetal Alchemist) Who is Colonel Mustang's best friend?`Maes Hughes`Hughes
(Fullmetal Alchemist) What does Roy Mustang give in exchange to go through the portal?`His eyesight`eyesight`vision`sight
(Fullmetal Alchemist) What are Winry and Pinako Rockbell best known for making?`Automail
(Fullmetal Alchemist) For the majority of the series, where is Mustang stationed at?`East headquarters`East HQ
(Fullmetal Alchemist) What is the name of the Ishbalan who hates State Alchemists and murders them because he thinks it is an act of God?`Scar
(Fullmetal Alchemist) Which homunculus was the Fuhrer? `Pride
(Fullmetal Alchemist) What are Colonel Mustang's gloves made of?`ignition cloth
(Fullmetal Alchemist) What's Hughes's daughter's name? `Elicia
After Watase Yuu's creation of "Fushigi Yuugi", which famous shoujo anime did she make?`Ayashi no Ceres
(Fushigi Yuugi) Miaka is the priestess of what?`Suzaku
(Fushigi Yuugi) The world of Fushigi Yuugi is based on the ancient form of what country?`China
(Gundam) How many rounds of ammunition does Gundam Wing Zero Custom's Buster Rifle have?`3`three
(Gundam) What is the original Gundam?`RX-78
(Gundam) What is the name of the final Gundam used by Shiro in 08th MS Team?`Ez-8
(Hellsing) What country does it take place in?`England
(Hetalia) Who did America grow up with?`England
(Hetalia) Who does Holy Rome have a crush on?`Italy
(Highschool Of The Dead) What are zombie's sensitive to?`sound
(InuYasha) Who was the demon of hair?`Yura
(InuYasha) Who is the leader of the wolf demons?`Koga`kouga
(InuYasha) InuYasha is half __ demon?`dog
(Inuyasha) What is the name of Sango's demon cat?`kirara
(InuYasha) Inuyasha's sword is called what?`Tessaiga`Tetsusaiga
(InuYasha) What is the name of the baby that Naraku holds his human heart in?`Hakudoshi
(InuYasha) Who does Inuyasha mistake Kagome for?`Kikyo
Basketball Anime that came out in 2012?`Kuroko No Basket
(Love Hina) What was the samurai girl's name?`Aoyama `Aoyama Motoko
(Love Hina) In the Christmas special, what did Keitarou buy Naru?`Coat`jacket
(Magic Knight Rayearth) Thee three heroines, Hikaru, Umi and Fuu, have powers associated with different elements. What kind of elemental spells does Umi use?`water
(Mew Mew Power) What type of animal power does Kiki have?`monkey
(Naruto) What is the relationship between Hinata and Hanabi Hyuga?`sisters`sister
(Naruto) Who is Negi's cousin?`Hinata Hyuga`Hinata
Sakura, Sasuke, Rock Lee, and Kakashi are all characters from which anime?`Naruto
(Naruto) What is the name of Naruto's son?`Boruto Uzumaki`Boruto
(Naruto) What is the special Kekkei Genkai/Bloodline Limit of the Hyuga clan?`Byakugan
(Naruto) Which jutsu does Rock Lee use?`taijutsu
(Naruto) Who tricked Naruto into stealing a sacred scroll?`Mizuki
(Naruto) Naruto first shows his nine-tails chakra when he fights who?`Haku
(Naruto) What animal does the one-tailed beast resemble?`Tanuki`Japanese Raccoon Dog`Raccoon
(Naruto) What is the name of the nine-tailed beast?`Kurama
(Naruto) Who gave Kakashi his Sharingan eye?`Obito Uchiha`Obito
(Naruto) Who cut Sakura's hair off?`Sakura
(Naruto) Name one of Sarutobi's disciples?`Orochimaru`Jiraiya`Tsunade
(Naruto) What is the forbidden technique used by Rock Lee that he used on Dosu and Gaara?`Primary Lotus
(Naruto) D-rank missions are usually given to what level of shinobi?`Genin
(Naruto) All members of what group are S-rank criminals?`Akatsuki
(Naruto) What is the word for a female ninja?`Kunoichi
(Naruto) The Sharingan is what type of jutsu?`Doujutsu
(Naruto) What is Naruto's favorite food?`Ramen
(Naruto) When in The Forest Of Death, Orochimaru disguises himself as a ninja from what village?`Grass
(Naruto) What is involved to use most summoning techniques?`blood
(Naruto) Who is the proctor for the second stage of the Chunin Exams?`Anko Mitarashi
(Naruto) Who writes the Make Out Paradise books?`Jiraiya
(Naruto) What does the symbol on Gaara's forehead mean?`Love
(Naruto) What is the Third Hokage's last name?`Sarutobi
(Naruto) What is the Third Hokage's first name?`Hiruzen
(Naruto) What legendary ninja was known as "Konoha's White Fang?"`Sakumo Hatake`Sakumo`Hatake Sakumo
(Naruto) Which Sound ninja has a kekkei genkai ability called Shikotsu Myaku?`Kimimaro Kaguya`Kimimaro
(Naruto) Who was Naruto's teacher at the ninja academy?`Iruka
(Naruto) What village does Naruto belong to?`Konohagakure
(Naruto) What is the name of the Biju inside Gaara?`Shukaku
(Naruto) Who is the second hokage of Konoha?`Tobirama Senju`Tobirama`Senju
(Naruto) Where does Ino wear her ninja headband?`Hip
(Naruto) What is the last hand sign for the Uchiha Clan's Katon: Gokakyu no Jutsu?`Tiger
(Naruto) Who was suggested as hokage while Tsunade was in a coma?`Kakashi
(Naruto) Who revived Gaara when the Biju was taken out of him?`Chiyo
(Naruto) What's the name of Shizune's pet pig?`Tonton
(Naruto) Who uses the Yin Seal?`Tsunade`sakura
(Naruto) Who has had amnesia when the person was a child?`Kabuto
(Naruto) What is the name of the slug summoned by Tsunade and Sakura?`Katsuyu
(Naruto) Which country has the samurai?`Land of Iron`Iron
(Naruto) Which clan is Karin a member of?`Uzumaki
(Naruto) Where did the Uzumaki clan originate from?`Uzushiogakure`Land of Whirlpools`Hidden Eddy Village
(Naruto) Who used the Six Red Yang Formation?`Obito
(Naruto) Who is officially the Sixth Hokage at the end of the manga series?`Kakashi
(Neon Genesis Evangelion)Who is the pilot of Unit-02?`asuka langley-soryu`asuka langley soryu
(Neon Genesis Evangelion) In what year did the show start airing?`1995
(No Game No Life) How many races exist in Disboard?`16`sixteen
(One Piece) Luffy ate what Devil Fruit?`Gomu Gomu`gum gum
(One Piece) What year was the manga created?`1997
(One Piece) Who is the Pirate King?`Gol D. Roger`Gol D Roger
(One Piece) What did Sanji think Croccus was at the first time he saw him?`Flower
(One Piece) What is Croccus' zodiac sign?`Gemini
(One Piece) Which Baroque Works frontier agent was defeated first?`Miss Monday
(One Piece) Who in the fleet was the first to faint after meeting Dorry and Brogy?`Karoo
(One Piece) What is Igaram's wife's name?`Teracotta
(One Piece) Which Baroque Works officer agent has no special power from a devil fruit?`Miss Goldenweek
(One Piece) Who is "the child of demons"?`Robin
(One Piece) Who has a goal of mapping the world?`Nami
(One Piece) Who has a goal of wanting to discover the true history of the world?`Robin
(One Piece) Which character has a bounty under a pseudonym?`Usopp
(One Piece) Who is the navigator of the Straw Hat Pirates?`Nami
(One Piece) Whose crew did Nami work for before joining Luffy's crew?`Arlong`Arlong's
(One Piece) What fruit did Bartholomew Kuma eat?`Pawpaw fruit`Pawpaw`paw paw
(One Piece) Who has a natural weakness to Luffy's power?`Enel
(One Piece) Which village is Zoro from?`Simotsuki village`simotsuki
(One Piece) Who is the user of Hana hana nomi?`Nico robin`robin
(One Piece) What's the name of Rob Lucci's pet pidgeon?`Hattori
(One Piece) What is Wiper's weapon called?`Burn bazooka
(One Piece) In which country was Law born?`Flevance
(One Piece) What is A water spirit (or fairy) that dwells on ships called?`Klabautermann
(One Piece) What is the real name of Mr. 2,Bon kurei?`Bentham
(One Piece) What is the name of zombie which had Zoro's shadow?`Jigoro
(One Piece) What is the 1st chapter named?`Romance dawn
(One Piece) Where did the strawhat crew find Dorry and Broggy fighting?`Little garden
(One Piece) According to the northblue fairytales, who is known as the trickster/liar telling the people about a golden city in jaya?`Montblanc Norland`noland
(One Piece) What is the name of the gorgon sisters who is in love with luffy?`Boa hancock`hancock
(One Piece) What is the name of zoro's sword which was destroyed by Shu?`Yubashiri
(One Piece) What fruit did the marine Shu eat?`Rust rust fruit`rustrust fruit`rust rust`rustrust`sabi sabi no mi
(One Piece) Who is the youngest shichibukai?`Law
(One Piece) Who was the fleet admiral before sengoku?`Kong
(One Piece) What is the name of character from sabaody+fishman island arc who is always ignored?`Pappagu
(One Piece) What is the name of Tsuru's devilfruit?`Woshu woshu fruit`Wash wash fruit`wash wash`woshu woshu
(One Piece) What is chopper's godfather's name?`Dr. Hiluluk`hiluluk
(One Piece) What is the name of the logpose variation which is permanently set to a specific island?`Eternal pose
(One Piece) Who said this? "Miracles only happen to those who give up"`Ivankov
(One Piece) How many movies are made on onepiece franchise?`13`thirteen
(One Piece) What is the name of the host of corrida collesium?`Mr.gyats`gyats`mr gyats`mr. gyats
(One Piece) During the marineford arc, who opened Marco's cuffs?`Mr.3`3`mr3`mr 3
(One Piece) Where did franky train during the 2 years gap?`Barujima karakuri island`barujima karakuri
(One Piece) Where did Ussop train during the 2 years gap?`Boing island`boing
(One Piece) Where did sanji train during the 2 years gap?`Kamabakka kingdom
(One Piece) Who was the first corazon?`Vergo
(One Piece) Name the doctor of Gol D roger pirates.`Crocus
(One Piece) Who is the creator of the sun pirates?`Fisher tiger`tiger
(One Piece) What is franky's real name?`Cutty flam
(One Piece) Who was the first zoan type user to appear in the series?`Dalton
(One Piece) Who is the only known fishman devilfruit eater?`Vander decken
(One Piece) What is the Birthplace of robin called?`Ohara
(One Piece) Who uses the move "Out-of-the-bag"?`captain kuro`kuro
(One Piece) Who was stuck on the same island as Zoro?`Perona
(One Piece) Who is able to use the CP9 technique "moon walk" (bounce on air) from strawhats?`sanji
(One Piece) What is the name of the cigarette brand Sanji smokes?`king grand
(One Piece) In which Island was sanji in near to death situation?`Fishman island
(One Piece) Which one from the 11 Supernovas is a woman?`Jewelry Bonney`bonney
(One Piece) What is the name of Zoro's teacher and Kuina's father?`Koshiro
(One Piece) What does Piiman want to be when he grows up?`Carpenter
(One Piece) What is the name of Whitebeard's flag ship?`Moby dick
(One Piece) Whitebeard was stabbed by his own ally. Who was it?`Squard
(One Piece) On which island is Syrup village located?`Gecko
(One Piece) Who is the Fifth Commander of the Whitebeard Pirates?`vista
(One Piece) What is the name of the Vice Admiral to whom Ace had to deliver a message during Ace's Great Blackbeard Search?`Comil
(One Piece) What is the name of Dracule Mihawk's black sword?`yoru
(One Piece) Which type of Dial emits a stream of "Iron cloud" which can be shaped and used for defense and attack?`Eisen Dial`eisen
(One Piece) When Trafalgar Law came to collect Luffy from the War at Marineford, who caught Luffy and Jinbe when they were thrown to them?`Jean Bart
(One Piece) What is the name of the plant shown in the film Strong World which is toxic to animals?`Daft green
(One Piece) Who is the 8th division commander from the whitebeard pirates?`Namur
(One Piece) What does Tamanegi want to be when he grows up?`Author
(One Piece) What is the name of ussop's current weapon?`Kuro kabuto`black kabuto`kabuto
(One Piece) Who is the only named camel in the series?`Eyelashes
(One Piece) Who has a natural weakness to Luffy's power?`Enel
(One Piece) Who gave shanks his straw hat?`Gol D. Roger`Roger`gol d roger`goldroger
(One Piece) What kind of fighting style does Mr. 2 Bon Clay use?`Okama kenpo
(One Piece) Who calls himself the lover of gossip?`Fukurou`fukuro
(One Piece) Whose laughing style is this :"chapapapapapa"?`Fukurou`fukuro
(One Piece) Who is the oldest person of the crew?`Brook
(One Piece) Who did Luffy fight before them joining the crew?`Franky
(One Piece) How many hours a day did warden Magellan actually control the prisoners?`4`four
(One Piece) What is Nami's village called?`Cocoyashi village`cocoyashi
(One Piece) Which Yarukiman Grove was excessively uprooted by Kizaru?`27`grove 27`grove27
(One Piece) What is robin's mother's name?`Nico Olivia`olivia
(One Piece) What's the nickname that Sanji always uses for Zorro?`Marimo (mosshead)`marimo`mosshead
(One Piece) Who is the vice captain(fuku-senchou) of Buggys crew?`Mohji
(One Punch Man) Who is the main protagonist?`Saitama
(One Punch Man) What city does Saitama live in?`Z-city`z city`z
(One Punch Man) What city is the headquarters of the Hero Association in?`A-city`A city`A
(One Punch Man) Who is the Rank 1 Class S Hero?`Blast
(One Punch Man) How long did Saitama train for before he became strong?`A year and a half`1.5 years`year and a half
(One Punch Man) What is Bang's fighting style?`Water Stream Rock Smashing Fist
(One Punch Man) Bang is also known as_?`Silver Fang`Greatest Treasure of Martial Arts
(One Punch Man) What is Bang's older brother's name?`Bomb
(One Punch Man) What is Bang's brother's fighting style?`Whirlwind Iron Cutting Fist
(One Punch Man) What is Tsumaki also known as?`Tornado of Terror
(One Punch Man) Who is Tsumaki's younger sister?`Fubuki
(One Punch Man) Who is known as the Blizzard of Hell?`Fubuki
(One Punch Man) What is the group headed by Fubuki?`The Blizzard Group`blizzard group
(One Punch Man) Who is the Class S Rank 4 Hero?`Atomic Samurai
(One Punch Man) Who is the youngest hero in the Hero Association?`Child Emperor
(One Punch Man) Where is Child Emperor's lab located?`Y-city`Y city`y
(One Punch Man) What is Metal Knight's real name?`Bofoi
(One Punch Man) Which character uses a technique called "Ultimate Hellfire Wavemotion Cannon"?`King
(One Punch Man) What is Genos' hero name?`Demon Cyborg
(One Punch Man) What are Genos' tears made of?`oil
(One Punch Man) Where did Saitama work before becoming a hero?`convenience store
(One Punch Man) What is Saitama also known as?`Caped Baldy
(One Punch Man) What is the Japanese name?`Wanpanman
(One Punch Man) What is Saitama's hero profile number?`03402
(One Punch Man) Who is the leader of the Dark Matter Thieves?`Boros
(One Punch Man) Who is also known as the "Human Monster"?`Garou
(One Punch Man) How old is Metal Bat?`17`seventeen
(One Punch Man) How old is Saitama?`25`twentyfive
(One Punch Man) Who was the leader of the seafolk?`Deep Sea King
(One Punch Man) Who uses a bamboo shoot spear?`Stinger
(One Punch Man) What is the name of Mumen Rider's bicycle?`Bicycle of Justice`Justice
(One Punch Man) Who was a Mysterious Being that was created when a man ate too much crab and underwent metamorphosis?`Crablante
(One Punch Man) Who created the Hero Association?`Agoni
(One Punch Man) Who is the leader of the Monster Association?`Psykos
(One Punch Man) What is Dr. Bofoi's hero name?`Metal Knight
(Ouran High School Host Club) Who is mistaken for a boy in the anime?`Haruhi
(Pokemon) In the original Japanese version, what is Ash Ketchum's name?`Satoshi
(Pokemon) Pokemon was created by Stoshi Tajiri in which year?`1996
(Pokemon) What starter pokemon did Ash Ketchum originally intend to choose?`Squirtle
(Pokemon) What is the name of the friend who travels with Ash during only the Orange Islands arc?`Tracey Sketchit`Tracey
(Pokemon) Who aspires to be a Pokemon Watcher?`Tracey Sketchit`Tracey
(Pokemon) What region is Ash from?`Kanto
(Pokemon) What building in Lavender Town is filled with graves?`Pokemon Tower
(Pokemon) What is the name of Brock's father?`Flint
(Pokemon) Who did Brock leave Ash to work for?`Professor Ivy
(Pokemon) What did May enjoy competing in?`Pokemon Contests`Pokemon Contest
(Pokemon) What is the name of May's younger brother?`Max
(Pokemon) What region is Dawn from?`Sinnoh
(Pokemon) Who is a Pokemon Connoisseur?`Cilan
(Pokemon) Who is trying to become a Pokemon Performer?`Serena
(Pokemon) What Pokemon is Todd Snap trying to take a picture of?`Articuno
(Pokemon) What is the name of Ritchie's Pikachu?`Sparky
(Pokemon) Who is the Professor of the Hoenn region?`Professor Birch
Which 2011 magical girl anime features Grief Seeds, witches, a mysterious white creature called Kyubey, and the characters Homura, Sayaka and Mami?`Puella Magi Madoka Magica
(Ranma 1/2) What does Ryouga turn into when he gets doused with cold water?`pig`a pig
(Ranma 1/2) What is Ranma most afraid of?`cats`cat
(Rave Master) What's 3713 real name?`Elie
(Rave Master) Who is the bearer of the Rave Stone?`Plue
(Rave Master) Who is a known pervert?`Griffon Kato`Griffon
(Rave Master) What is Haru's last name?`Glory
(Rave Master) What was Elie's old name?`Resha
(Rurouni Kenshin) What is the name of the principle of "swords that give life"?`katsujinken
(Rurouni Kenshin) What is the name of the principle of "swords that kill"?`satsujinken
What was the other name of the popular anime known as Samurai X?`Rurouni Kenshin
(Rurouni Kenshin) The Meiji Era took place after the fall of what era?`Tokugawa
(Rurouni Kenshin) This character was the captain of the third squad of the Shinsengumi and later became a policeman...?`Saitou Hajime`Saitou
(Rurouni Kenshin) Kenshin calls himself a rurouni. What is a rurouni?`Wandering Swordsman`Wanderer
(Rurouni Kenshin) What illegal drug did Takani Megumi make?`Opium
(Rurouni Kenshin) How old is Kenshin Himura in the beginning of the anime?`TwentyEight`Twenty-Eight`twenty eight`28
(Rurouni Kenshin) What is the name of the girl Kenshin accidentally killed?`Tomoe Yukishiro`Tomoe
(Rurouni Kenshin) Who is in love with Kenshin Himura?`Kaoru Kamiya`Kaoru
(Rurouni Kenshin) What was Kenshin's nickname during the Meji Revolution?`Hitokiri Battousai`Battousai the Manslayer`Battousai
(Rurouni Kenshin) What type of sword does Kenshin use (japanese for reverse blade sword)?`Sabakou
(Rurouni Kenshin) Who is Kaoru's pupil?`Myojin Yahiko`Yahiko
(Rurouni Kenshin) What does Yahiko use as a weapon?`Shinai
(Rurouni Kenshin) What does Kaoru use as a weapon?`Bokken
(Rurouni Kenshin) What is the name of Kenshin's son?`Kenji
(Rurouni Kenshin) How does Kenshin eventually die?`Tuberculosis
(Rurouni Kenshin) What was Yahiko before he was rescued?`Pickpocket
(Rurouni Kenshin) What is the name of Kenshin's sword style?`Hiten Mitsurugi
(Rurouni Kenshin) What is the name of Kenshin's master?`Hiko
Usagi Tsukino is better known as...?`Sailor Moon
(Sailor Moon) Who was Minako's crime-fighting alter ego before she became Sailor Venus?`sailor v
(Sailor Moon) What are the Sailor Senshi named after?`Planets
(Sailor Moon) Who is the love interest of Sailor Moon?`Tuxedo Mask`Mamoru Chiba`Mamoru`Endymion
What anime is about samurai swordsmen in a hip hop setting?`Samurai Champloo
(Samurai Champloo) What does the samurai who Fuu is looking for smell like?`Sunflowers`Sunflower
(Samurai Champloo) What is the name of Fuu's flying squirrel?`Momo
(Samurai Champloo) What is Mugen's totem?`Rooster
(Samurai Champloo) What is Jin's totem?`Koi Fish`Koi
(Shokugeki no Soma) Who is the 7th seat on the Elite Ten Council?`Satoshi Isshiki`Isshiki
(Shokugeki no Soma) Who is the 10th seat on the Elite Ten Council?`Erina Nakiri`Erina
(Shokugeki no Soma) What was Joichiro Yukihira's original name?`Joichiro Saiba`Saiba Joichiro`Saiba
(Shokugeki No Soma) What is the graduation rate at Totsuki Culinary Academy?`1%`1`One
(Shokugeki No Soma) What is the name of the Culinary Academy?`Totsuki Culinary Academy`Totsuki
(Shokugeki No Soma) What is the term referring to a cooking duel allows students to settle debates and arguments?`shokugeki
(Slam Dunk) Sakuragi Hanamichi plays what position for Shohoku?`Power Forward
(Steins;Gate) What anime does Kurisu's online name reference?`Dragon Ball Z`DBZ
(Steins;Gate) What is written on the Lab Members badge?`OSHMKUFA 2010
(Steins;Gate) Who does Mayuri work for?`Faris
(Steins;Gate) What is Mayuri's favorite hobby?`Cosplay
(Steins;Gate) How old is Mayuri Shiina?`16
(Steins;Gate) Who ate Kurisu's pudding?`Rintaro Okabe`Rintaro`Okabe
(Steins;Gate) How old is Rintaro Okabe?`18
(Steins;Gate) What will happen to Mayuri when Mayuri's pocket watch stops working?`Death`Dies`die`She dies
(Steins;Gate) Who is the sixth person that is shown in the opening?`Rintaro Okabe`Rintaro`Okabe
(Steins;Gate) What is the name of Okabe's Laboratory?`Future Gadget Laboratory
(Steins;Gate) What name does Okabe call Kurisu?`Christina
(Steins;Gate) In what area of Tokyo does Steins;Gate take place?`Akihabara
(Steins;Gate) Why does Mayuri stay with Okabe?`She's his hostage`Hostage
(Steins;Gate) What is Rintaro's landlord's name?`Yugo`Mr Braun
(Steins;Gate) What is Okabe's favorite drink?`Dk Pepper
(Steins;Gate) Steins;Gate is a collaboration work between 5pb. and who?`Nitro+
(Steins;Gate) What does the team call the text messages sent to the past?`Dmail`d-mail
(Steins;Gate) What nickname does Rintaro give to Moeka?`Shining Finger
(Steins;Gate) What is the name of the ability to retain memories across world lines?`Reading Steiner
Maka Albarn is from what anime?`soul eater
(Sword Art Online) What is the second game Kirito goes into?`Alfheim Online`Alfheim
(The Last Airbender) What is the name of Aang's flying bison?`Appa
(The Last Airbender) What is the name of the evil prince that tries to capture Aang?`prince zuko`zuko
(Trigun) What was Vash's brother called?`Knife
Sakura Kinamoto is the heroine of 'Cardcaptor Sakura'. In which CLAMP manga/anime does she also appear?`Tsubasa: Reservoir Chronicle`Tsubasa`Tsubasa Reservoir Chronicle`Tsubasa - Reservoir Chronicle
(Tsubasa Chronicle) What does the gang needed to collect?`Princess Sakura's feathers`feathers
Which manga made by CLAMP was named after a plant?`clover
What is name for the rabbit-like creatures from CLAMP?`mokona
What is Kazuki Takahashi best known as the creator of?`yu-gi-oh`yu-gi-oh!
(Yu Yu Hakusho) What level computer does Mitari have to fight in Game Master's territory?`7`seven
(Yu Yu Hakasho) What is Yuskey's close advisor and ghost friend?`Botan
(Zatch Bell) What color is Kyo's spell book?`red
-438
View File
@@ -1,438 +0,0 @@
Which Shakespearean character has the most lines?`Hamlet 
Who killed Macbeth?`Macduff
What was the name of Charles Dickens' last novel which was unfinished at his death?`The Mystery Of Edwin Drood 
Who is associated with the address 221B Baker Street, London?`Sherlock Holmes
What is the fourth book in the Harry Potter series?`Harry Potter and the Goblet of Fire`The Goblet Of Fire
For what is Dame Margott Fonteyn famous?`Ballet Dancing`Ballet
A realistic style of painting in which everyday life forms the subject matter, as distinguished from religious or historical painting?`Genre painting
On what book was 'Three Days Of The Condor' based?`Six Days Of The Condor
From the Hebrew word for 'prophet'. A group of French painters active in the 1890s who worked in a subjective, sometimes mystical style, stressing flat areas of color and pattern?`Nabis
Who wrote Great Expectations?`Charles Dickens
A termed coined by British art critic Roger Fry to refer to a group of nine-teenth century painters, who were dissatisfied with the limitations of impressionism. It has since been used to refer to various reactions against impressionism, such as fauvism and expressionism?`Postimpressionism
Who co-wrote 'Yeoman Of The Guard', 'Lolanthe And The Mikado'?`Gilbert & Sullivan 
From which Shakespeare play is this line taken? 'Goodnight, goodnight! parting is such sweet sorrow, That I should say goodnight till it be morrow'?`Romeo and Juliet
Which author wrote 'The Sound & The Fury', 'The Wild Palms', and 'As I Lay Dying'?`William Faulkner
What was H.G Wells' first novel?`The Time Machine
This statue was found on the Greek island of Melos in 1820?`Venus de milo
French impressionist Claude _____?`Monet
Which story involves the schoolboy Piggy?`Lord Of The Flies 
A band of painted or sculpted decoration, often at the top of a wall?`Frieze
Who wrote the famous book 'A Brief History Of Time' in 1988 ?`Stephen Hawking 
In one of Donald Horne's novels, what was Australia dubbed?`The Lucky Country
Three main types of Greek columns are Doric, Ionic, and __________?`Corinthian
In which book did four ghosts visit Scrooge?`A Christmas Carol
What is the name of the Russian National Ballet?`The Kirov Ballet`Kirov
In 'Romeo and Juliet', who was Mercutio's long monologue about?`Queen Mab
Who wrote the books 'The Firm' and 'The Pelican Brief' - both of which were made into films?`John Grisham`Grisham
Which US author penned the novels "Of Mice and Men" and "East Of Eden"?`John Steinbeck`Steinbeck
Who wrote the shortest ever letter?`Victor Hugo
His many Romantic odes include 'Ode to Melancholy' and 'Ode to a Graecian Urn'?`John Keats
Who created Lord Peter Wimsey?`Dorothy L Sayers`Sayers
Under what pen name did Hector Hugh Munro write?`Saki 
Water-soluble paint made from pigments and a plastic binder?`Acrylic
In Swift's Gulliver's Travels, what is Gulliver's profession?`Surgeon 
A method of watercolor painting, but prepared with a more gluey base, producing a less transparent effect?`Gouache
Who created Sherlock Holmes ?`Sir Arthur Conan Doyle`Arthur Conan Doyle`Doyle
Dr. Seuss wrote this book: The Cat in the______?`Hat
Which sculptor produced 'A Lobster Telephone'?`Salvador Dali`Dali
In which century did artists first start painting on canvas?`15th Century`15th`15`fifteenth
Name the author of 'The Catcher in the Rye'?`J.D. Salinger`JD Salinger`Salinger
The surrealist painter Salvador Dali was a native of which country?`Spain
What is the name of the main character in Homer's Odyssey?`Odysseus
"Our Town" is a play by whom?`Thornton Wilder`Wilder
Which poet wrote no verses during his time as Britain's Poet Laureate?`William Wordsworth 
Which thriller writer's works include 'The Dark Eyes Of London', 'Four Just Men', and 'Sanders Of The River'?`Edgar Wallace`Wallace
What controversial book did Germaine Greer write?`The Female Eunuch
Who was the merchant in Shakespeare's 'The Merchant Of Venice'?`Antonio 
A Russian abstract movement originated by Malevich c. 1913. It was characterized by flat geometric shapes on plain backgrounds and emphasized the spiritual qualities of pure form?`Suprematism
What is Samuel Clemens better known as?`Mark Twain
In what work does the HAL 9000 appear?`2001, A Space Odyssey`2001 a space odyssey
What is the ballet term for spinning on one foot?`Piroutte 
Which character created by Dodie Smith drove a black & white car and wore a black & white fur coat?`Cruella De Vil
Who was the author of 'Dracula'?`Bram Stoker`Stoker
This man was Time magazine's 1938 "Man of the Year"?`Adolf Hitler`Hitler
What is the opposite of an utopia?`Dystopia
In painting, the degree of lightness or darkness in a color?`Value
Who is the author of "Harry Potter"?`J.K. Rowling`JK Rowling`Joanne Rowling
Who painted the Mona Lisa?`Leonardo da Vinci`da Vinci
From which Shakespeare play is this line taken: 'Double, double'?`Macbeth
Who wrote 'The Time Machine'?`H.G. Wells`HG Wells`wells
Who wrote 'To Kill A Mockingbird'?`Harper Lee`Lee
This book, Oscar Wilde's only novel, was used as evidence in his sodomy trial?`The Picture of Dorian Gray
In which English county was John Constable born?`Suffolk
"The Diary of Anne Frank" was first published in English under what title?`The diary of a young girl
Who penned the 1999 autobiography 'Managing My Life'?`Alex Ferguson 
What famous gothic novel was written by Mary Shelley?`Frankenstein 
From which Shakespeare play is this line taken: 'What in a name that which we call a rose, by any other name would smell as sweet'?`Romeo and juliet
This magazine used to boast a circulation of 7,777,777?`Better homes and gardens
In which city is the Encyclopædia Britannica published?`Chicago 
What was Shakespeare's last completed play?`The Tempest
Which famous sculptor was refused entry to the French Academy 3 times?`August Rodin`Rodin
Which Stephen King novel is set at The Overlook Hotel?`The Shining 
An etching tecnique in which a solution of asphalt or resin is used on the plate. It produces prints with rich, gray tones?`Aquatint
What Dutch master painted 64 self-portraits?`Rembrandt
Which author's father was imprisoned for debt?`Charles Dickens`Dickens
Women's magazine launched by New York in the 70's?`Ms
Who wrote 'The Rose Tattoo'?`Tennessee Williams
Where was El Grecho born?`Crete 
A movement of the 1960s and 1970s that emphasized the artistic idea over the art object. It attempted to free art from the confines of the gallery and the pedestal?`Conceptual art
A late-nineteenth-century French school of painting. It focused on transitory visual impressions, often painted directly from nature, with an emphasis on the changing effects of light and color?`Impressionism
Which English writer divided his novels into 3 categories, 'Novels Of Character & Environment', 'Romances & Fantasies', and 'Novels Of Ingenuity'?`Thomas Hardy`Hardy
Where is the Louvre located?`Paris
Sherlock Holmes lived at 221b _____ street?`Baker
Who wrote the novels 'The Hunt For Red October' and 'Clear And Present Danger'?`Tom Clancy 
A figurative movement that emerged in the United States and Britain in the late 1960s and 1970s. The subject matter, usually everyday scenes, is portrayed in an extremely detailed, exacting style. It is also called superrealism, especially when referring to sculpture?`Photorealism
A painting technique using pigments mixed with egg yolk and water. It produces clear, pure colors.?`Tempera
Who created Winnie the Pooh?`A. A. Milne`A.A. Milne`aa milne`a a milne`Milne
Homer wrote this account of the Trojan War?`Iliad
Who won a Pulitzer Prize for Angela's Ashes?`Frank McCourt`mccourt
Who is novelist Helen Fielding's most famous character?`Bridget Jones 
How many tales are there in Chaucer's 'Canterbury Tales'?`23`twenty three
Who wrote "Animal Farm"?`George Orwell`Orwell
Who writes the discworld novels?`Terry Pratchett`Pratchett
An abstract movement in Europe and the United States, begun in the mid-1950's and based on the effect of optical patterns?`Op art
Name the Philadelphian artist who introduced the world to "Pop Art"?`Andy Warhol`Warhol
Which Algerian born French author's works included 'L'Etranger' and 'La Peste'?`Albert Camus`Camus
What were the dolls in the novel 'Valley Of The Dolls'?`Pills
Who wrote the 'Dragonriders Of Pern' series?`Anne McCaffrey`mccaffrey
Which novel by Michael Crichton was the best selling paperback in 1993?`Jurassic Park 
Who is the author of "Brave New World"?`Aldous Huxley`huxley
What was Lestat's last name?`De Lioncourt
Who was the human companion of Willow?`Mad Mardigan
Who penned the novel 'The Pelican Brief' which was made into a film starring Julia Roberts and Denzel Washington?`John Grisham 
What type of animal is Rupert the Bear's best friend Bill?`Badger
Which poet, in his "Elegy Written in a Country Churchyard" told us that "Full many a flower is born to blush unseen / And waste its sweetnes on the desert air"?`Thomas Gray`Gray
In the book 'The Secret Diary Of Adrian Mole', what was the name of Adrian's girlfriend?`Pandora 
Who wrote The Canterbury Tales?`Geoffrey Chaucer`Chaucer
Who did Macduff kill?`Macbeth
What other name does Stephen King write under?`Richard Bachman
Stephen King's: "Salem's _________"?`Lot
Which famous book contains the line 'Once upon a time there was a little chimney sweep and his name was tom'?`The Water Babies 
What is the earliest known drawing medium ?`Charcoal 
Who told stories about Brer Rabbit & Brer Fox?`Uncle Remus
What is the most performed opera in the UK?`La Boheme
Whose first collection of short stories entitled 'In Our Time' was published in 1925?`Ernest Hemmingway`hemmingway
Which word created by JK Rowling gained entry into the Oxford English Dictionary In 2003?`Muggle
Which British artist is noted for his numerous paintings of horses?`George Stubbs`Stubbs
Who wrote 'Robinson Crusoe'?`Daniel Defoe`defoe
Author of "The Lighthouse" and "Eminent Victorians"?`Virginia Woolf`woolf
In which British national daily newspaper does Rupert The Bear appear ?`The Daily Express 
What was Shakespeare's first play?`Henry VI
Which novel by Mary Shelley was subtitled 'The Modern Prometheus'?`Frankenstein
What was the name of the author who released 'A Guide To Baby And Child Care' in 1946?`Dr. Spock`spock`dr spock
How many plays is Shakespeare generally credited with today?`37`thirty seven
What dance is associated with vienna?`Waltz
Which Shakespeare play contains the line 'if music be the food of love play on'?`Twelfth Night 
Which book including the characters Pod, Arrietty, Homily & Peagreen inspired the film 'the Secret Life of Arrietty'?`The Borrowers 
Who wrote the gothic novel 'Dracula'?`Bram Stoker`Stoker
What Irish playwright and author, wrote "The Importance of Being Ernest" and "A Picture of Dorian Grey" among others?`Oscar Wilde`Wilde
What is the name of Gandalf's horse?`Shadowfax
He penned the founding novel of the utopian genre, "Utopia"?`Sir Thomas More`More
Who is Karen Blixen better known as?`Isaak Dinesen
What book is the film Blade Runner based on?`Do Androids Dream of Electric Sheep
Meaning 'fool the eye' in french. In painting, the fine, detailed rendering of objects to convey the illusion that the painted forms are real and three-dimensional?`Trompe l'oeil
In what field of study would you find "flying buttresses"?`Architecture
Who wrote the novel "The Strange Case of Dr. Jekyll and Mr Hyde"?`Robert Louis Stevenson`Stevenson
Who wrote 'The Canterbury Tales'?`Geoffrey Chaucer
A group of English painters formed in 1848. These artists attempted to recapture the style of painting preceding Raphael. They rejected industrialized England and focused on painting from nature, producing detailed, colorful works?`Pre-Raphaelite Brotherhood
Who wrote the Tin Tin stories?`Georges Remi Herge`Herge
Who wrote 'The Gulag Archipelago'?`Alexander Solzhenitsyn`Solzhenitsyn
What nationality was Jospeh Conrad?`Polish
Who wrote the play 'The Mousetrap'?`Agatha Christie`Christie
What Shakespearean play features the line: 'A plague on both your houses'?`Romeo and Juliet
What is the art of tracing designs and making impressions of them called?`Lithography
Referring to the principles of Greek and Roman art of antiquity with its emphasis on harmony, proportion, balance, and simplicity. In a general sense, it refers to art based on accepted standards of beauty?`Classicism
Who is the protagonist of Milton's 'Paradise Lost'?`Satan
How many holes are there on a traditional artist's palette?`One`1
Which of Jane Austen's novels was published posthumously?`Persuasion
Captain Hook, Tiger Lily, and Tinker Bell are characters in what story?`Peter Pan
This girl hid from the Nazis in Amsterdam?`Anne frank
What is Mrs William Heelis better known as?`Beatrix Potter
Which colour followed Picasso's Blue Period?`Pink
What did Jeannie C. Riley describe as "a little Peyton Place"?`Harper Valley
This magazine chronicled the Man of Bronze and the Fabulous Five?`Doc savage
In 2007 who topped the best sellers non fiction list with 'Born To Be Riled'?`Jeremy Clarkson`Clarkson
Who wrote the vampire series that featured Lestat as the main character?`Anne Rice`rice
The term Impressionism was first used about which artist?`Claude Monet`Monet
What Dr Seuss character steals Christmas?`Grinch
Which famous book contains the line 'Mr & Mrs Dursley of number 4 Privet Drive were proud to say that they were perfectly normal'?`Harry Potter And The Philosophers Stone
Stephen King's: "The Dead ________"?`Zone
Who wrote about tarzan?`Edgar Rice Burroughs`Burroughs
Paint applied very thickly. It often projects from the picture surface?`Impasto
A soft, subdued color; a drawing stick made of ground pigments, chalk, and gum water?`Pastel
Which antipodean opera singer sung at Prince Charles' wedding to Lady Diana Spencer?`Kiri Te Kanawa 
Who wrote 'The Great Gatsby'?`F. Scott Fitzgerald`fitzgerald`f scott fitzgerald
What are arranged in the Japanese art of Ikebana?`Flowers
Who created 'The Saint'?`Leslie Charteris`Charteris
Whose works 'The Ballad Of Reading Gaol' & 'De Profundis', were written from his experiences in prison?`Oscar Wilde`Wilde
The rendering of light and shade in painting; the subtle graduations and marked variations of light and shade for dramatic effect?`Chiaroscuro
A group of American painters who united out of opposition to academic standards in the early twentieth century?`The eight
Which celebration of the arts is held in wales?`The Eisteddfod
In which Shakespearean tragedy does Laertes appear?`Hamlet 
Name the author of the famous 'Doctor Zhivago', which presents a panoramic view of Russian society at the time of the 1917 Revolution?`Boris Pasternak`Pasternak
What Shakespearean play refers to the date of epiphany?`Twelfth Night
Who wrote the novel 'Silence Of The Lambs'?`Thomas Harris`Harris
How many lines are in a sonnet?`14`fourteen
A composition made of cut and pasted pieces of materials, sometimes with images added by the artist?`Collage
Who drew drawings of absurd mechanical contrivances?`William Heath Robinson`Robinson
Douglas Adams is famous for writing what?`The hitchhiker's guide to the galaxy
At which railway station does Harry Potter catch the Hogwart's Express at Platform 9 and 3 Quarters?`King's Cross`kings cross
Which Shakespeare play opens with the 3 Witches?`Macbeth 
Who wrote 'The Hobbit'?`J.R.R. Tolkien`jrr tolkien`tolkien
This is the choice and arrangement of words and phrases in a literary work. It is the vocabulary that the author, poet or playwright uses to create style and effect in a piece of writing?`Diction
Edgar Allen Poe wrote a famous poem about this animal?`Raven
Which author wrote the book 'Black Beauty'?`Anna Sewell`sewell
Who composed the ballet 'The Nutcracker'?`Tchaikovsky
Who wrote the play 'Hay Fever'?`Noel Coward`coward
What was Picasso's first name?`Pablo 
Which Welsh poet died of alcohol poisoning the year he publsihed his collected poems?`Dylan Thomas`thomas
The famous lithograph 'The Scream' was created by which artist?`Edvard Munch`munch
Who wrote 'Far From The Madding Crowd'?`Thomas Hardy`hardy
By what name is the great Italian sculptor & artist Buonarroti better known as?`Michelangelo 
Who wrote 'Psycho'?`Robert Bloch`bloch
Which American artist is known for a portrait of his mother?`James Whistler`whistler
In painting, a thin layer of translucent color?`Wash
The fallacy of personifying inanimate objects, often in bad taste?`Pathetic fallacy
Who wrote the 'Noddy Stories'?`Enid Blyton`blyton
Which famous play begins with the line: 'When shall we three meet again, in thunder, lightening, or in rain'?`Macbeth 
Who wrote Mein Kampf (My Struggle)?`Adolf Hitler`hitler
In which book is Scheherazade a story teller?`Arabian Nights
Meaning 'fresh' in Italian. The technique of painting on moist lime plaster with colors ground in water?`Fresco
The study of building design is ____________?`Architecture
Sir Alfred Gilbert was the sculptor of what famous landmark?`Eros
What is the name of Colin Dexter's fictional detective?`Inspector Morse 
The effect of the harmony of color and values in a work?`Tone
The ____ generation included such authors as Jack Kerouac, William S. Burroughs and Allen Ginsburg?`Beat
Which American auther wrote the novel 'Roots'?`Alex Haley`haley
A painting movement that flourished in France in the 1880s and 1980s in which subject matter was suggested rather than directly presented. It featured decorative, stylized, and evocative images?`Symbolism
The Royal Opera House in London is home to which branch of the arts other than Opera?`Ballet
This Romantic poet and husband to Mary Shelley drowned in a boating accident?`Percy Bysshe Shelley
In what opera would you find Lt. Pinkerton?`Madame butterfly
Which famous book begins with the line: 'Marley was dead, to begin with. There was no doubt about that'?`A Christmas Carol
What is Picasso's nationality?`Spanish 
Who wrote 'Valley Of The Dolls'?`Jacqueline Susann`susann
A movement in European painting in the seventeenth and early eighteenth centuries, characterized by violent movement, strong emotion, and dramatic lighting and coloring?`Baroque
Who had decieved the Lord of Rohan for a number of years?`Wormtongue
Who is Pip's benefactor in Dickens's 'Great Expectations'?`Abel Magwitch`Magwitch
An artwork humoously excaggerating the qualities, defects, or pecularities of a person or idea?`Caricature
Whose smile remained after the rest of it had vanished?`The Cheshire Cat`cheshire cat
What school of poets was John Donne attributed to?`The Metaphysical Poets`metaphsical
Which novel features Perks the station porter?`The Railway Children 
From which of Shakespeare's plays is this line: "All the world's a stage___"?`As You Like It
In the 'Rhyme Of The Ancient Mariner' which bird is shot?`An Albatross`albatross
Which US dramatist was once married to Marylin Monroe and penned the plays "Death Of A Salesman" and "The Crucible"?`Arthur Miller`miller
How many stories did Enid Blyton publish in 1959?`Fifty nine`59
Where is the world's largest art gallery?`Paris
Who wrote "The Wind in the Willows"?`Kenneth Grahame`grahame
Which decorative style was popular in the 1920's & 1930's?`Art Deco 
Who wrote 'The Hitchhikers Guide to the Galaxy'?`Douglas Adams 
Which outlaw rode a horse called Black Bess?`Dick Turpin 
A European style of the late eighteenth and early nineteenth centuries. Its elegant, balanced works revived the order and harmony of ancient Greek and Roman art?`Neoclassicism
Where is the Prado Gallery?`Madrid 
Which British painter frequently uses a swimming pool as a theme?`David Hockney`hockney
Which former jockey specializes in novels concerning horse racing?`Dick Francis`francis
A flat board used by a painter to mix and hold colors, traditionally oblong, with a hole for the thumb; also, a range of colors used by a particular painter?`Palette
What was the sequel to Louisa May Alcott's "Little Women"?`Little Men
An eighteenth-century European style, originating in France. In reaction to the grandeur and massiveness of the baroque, it employed refined, elegant, highly decorative forms?`Rococco
What was the only novel to be written by Margaret Mitchell?`Gone With The Wind 
Who wrote 'The Murder Of Roger Ackroyd'?`Agatha Christie`christie
How many books are there in Anne Rice's vampire series?`Five`5
In what city will you find the Museum of Modern Art?`New York city
Who wrote the book "The Origin of Species"?`Charles Darwin`darwin
Which tavern was the favourite haunt of Falstaff in Shakespeare's 'Henry IV'?`The Boar's Head`the boars head`boar's head`boars head
What was the name of William Wordworth's sister?`Dorothy 
In The Canterbury Tales at which tavern do the story tellers assemble?`The Tabard`tabard
What do you call a picture that is made of various material stuck together?`Collage
His many Romantic odes include 'Ode to Melancholy' and 'Ode to a Graecian Urn'?`Keats
An Italian movement c.1909-1919. It attempted to integrate the dynamism of the machine age into art?`Futurism
Who wrote the novels 'Slaughterhouse Five' and 'Breakfast Of Champions'?`Kurt Vonnegut`vonnegut
What was Dante's last name?`Alighieri
What nationality were most of the Impressionist painters?`French`France
What was Sherlock Holmes' 7% solution in 'The Sign of Four'?`Cocaine
Who wrote 'Alice In Wonderland'?`Lewis Carroll`carroll
What rank was Biggles?`Major 
This early American statesman and inventor wrote the book, "Fart proudly"?`Benjamin Franklin`franklin
In which Gilbert & Sullivan Operetta does Nakipoo appear?`The Mikado 
Who wrote 'Gulliver's Travels'?`Jonathan Swift`swift
Who is responsible for painting the Mona Lisa?`Leonardo da Vinci`da vinci
Reducing or distorting in order to represent three-dimensional space as perceived by the eye, according to the rules of perspective?`Foreshortening
In the Dr Seuss books, which elephant hatched an egg?`Horton
Who wrote 'Gone With The Wind'?`Margaret Mitchell`mitchell
Who painted 'The Last Supper'?`Leonardo da Vinci`da vinci
He wrote 'Ulysses', 'Giacomo Joyce', 'Dubliners', and 'Finnegan's Wake', among others?`James Joyce`joyce
Which school did Billy Bunter attend?`Greyfriars 
Whose life was the subject of James Boswell's Biography, published in 1791?`Samuel Johnson`johnson
Which movement spanned the period from the 17th Century to the early 18th?`Baroque 
What play by Shakespeare features the following characters: Cornwall, Gloucester, Regan, and Goneril?`King Lear
Who painted the Creation Of Adam?`Michelangelo 
Stephen King's: "Pet ________"?`Semetary
A movement that began in Britain and the United States in the 1950s. It used the images and techniques of mass media, advertising, and popular culture, often in an ironic way?`Pop art
Which poet preceded Ted Hughes as Poet Laureate?`Sir John Betjeman`betjeman
Which Nobel Prize winner wrote 'A History Of The English Speaking Peoples'?`Winston Churchill`churchill
The two races in HG Well's "The Time Machine" are the child-like Eloi and the subterannean ______?`Morlocks
What is the name given to the painting medium involving egg yolks?`Tempera
Who wrote 'Jurassic Park'?`Michael Crichton`crichton
Who wrote '1984'?`George Orwell
Which author wrote novels upon which the TV series 'All Creatures Great & Small' was based?`James Herriot`herriot
What is the surname of Cathy in Wuthering Heights?`Earnshaw 
Which author did Hitler acclaim as the Prophet of Right Wing Authoritarianism?`Nietzsche 
Which woman had more potraits painted of her than anyone else?`Queen Elizabeth II`elizabeth ii
Who wrote 'A Christmas Carol'?`Charles Dickens
What is the name of the 7th and final Harry Potter book?`Harry Potter and the Deathly Hallows 
Who wrote the Barsetshire novels?`Anthony Trollope`trollope
Where would you find the Elgin Marbles?`The British Museum 
In a general sense, refers to objective representation. More specifically, a nineteenth century movement, especially in France, that rejected idealized academic styles in favor of everyday subjects?`Realism
What was the name of Mother Goose's son?`Jack
Who was William Shakespeare's Wife?`Anne Hathaway
In 'Romeo and Juliet', who says 'make the bridal bed in that dim monument where Tybalt lies'?`Juliet
Whose autobiography was entitled 'Dear Me'?`Peter Ustinov`ustinov
A large painting or decoration done on a wall?`Mural
Who wrote "Ender's Game"?`Orson Scott Card`card
What did Jeannie C. Riley describe as "a little Peyton Place"?`Harper valley
Who wrote the threepenny opera?`Bertolt Brecht`brecht
Who wrote the novels 'About A Boy'', 'How To Be Good'' and 'High Fidelity'' ?`Nick Hornby 
From which Shakespeare play is this line taken: "To be or not to be"?`Hamlet
The book "Wamyouruijoshou" was the first to use what word ?`Kite
Who wrote the epic poems, the Iliad and the Odyssey?`Homer
Who wrote 'The Birds'?`Daphne du Maurier`du maurier
Who wrote the novel Jaws, which was later turned into a blockbuster movie by Steven Spielburg?`Peter Benchley`benchley
What publication was subtitled 'The What's New Magazine'?`Popular Science
Which gallery has exhibitions in London & St Ives, Cornwall?`The Tate Gallery`tate
Which artist's name literally means 'Little Barrel'?`Botticelli 
Who wrote "The Rime of the Ancient Mariner"?`Samuel Taylor Coleridge`coleridge
Who Wrote "Brave New World"?`Aldous Huxley`huxley
A style, c. 1520-1600, that arose in reaction to the harmony and proportion of the High Renaissance. It featured elongated, contorted poses, crowded canvases, and harsh lighting and coloring?`Mannerism
Tilly Trotter, Hannah Massey, and Maggie Rowan are all characters created by which novelist?`Catherine Cookson`cookson
A European movement of the late eighteenth to mid-nineteenth century. In reaction to neoclassicism, it focused on emotion over reason, and on spontaneous expression?`Romanticism
What did Winston encounter in Room 101?`Rats 
The technique of producing printed designs through various methods of incising on wood or metal blocks, which are then inked and printed?`Etching
In sculpture, the building up of form using a soft medium such as clay or wax, as distinguished from carving. In painting and drawing, using color and lighting variations to produce a three-dimensional effect?`Modeling
Which member of the Monty Python Team wrote children's books about 'Erik The Viking'?`Terry Jones`jones
What does A E Houseman's initials stand for?`Alfred Edward 
What colour is the Art and Literature wedge in Trivial Pursuit?`Brown 
Group of American artists from 1908 to 1918. Their work featured scenes of urban realism?`Ash Can School
With what art movement was Salvador Dali associated?`Surrealism 
Which Science Fiction story centers around alien children in a village?`The Midwitch Cuckoos 
Works of a culturally homogenous people without formal training, generally according to regional traditions and involving crafts?`Folk art
Refers to art that uses emphasis and distortion to communicate emotion. More specifically, it refers to early twentieth-century northern European art, especially in Germany c. 1905-23?`Expressionism
Where would you find Poets Corner?`Westminster Abbey
A painting or drawing executed in a single color?`Monochrome
Who painted the ceiling of the Sistine Chapel?`Michelangelo
Who wrote 'A Tale Of Two Cities'?`Charles Dickens`dickens
Who painted 'Irises'?`Vincent Van Gogh`van gogh
Which Shakesperean play features the line "Now is the winter of our discontent"?`Richard III
A technique of engraving, using a sharp-pointed needle, that produces a furrowed edge resulting in a print with soft, velvety lines?`Drypoint
Who was the first person to be buried at Poets Corner?`Geoffrey Chaucer`chaucer
Which Tennesee Williams play is about a Sicilian-American woman?`The Rose Tattoo
Artwork, usually paintings, characterized by a simplified style, nonscientific perspective, and bold colors. The artists are generally not professionally trained?`Naive art
What famous character did Edgar Rice Burroughs create?`Tarzan
From whom did Bilbo obtain The Ring?`Gollum
In 1526 Hans Holbein became the officiaal portrait painter of which English king?`Henry VIII 
Who wrote "Ten Little Indians"?`Agatha Christie`christie
In 'A Christmas Carol', what was the name of the miser?`Ebenezer Scrooge`scrooge
Who created 'Maudie Frickett'?`Jonathan Winters`winters
Meaning 'rebirth' in french. Refers to Europe c. 1400-1600. The style began in Italy and stressed the forms of classical antiquity, a realistic representation of space based on scientific perspective, and secular subjects?`Renaissance
Which author penned the Disc-World series of sci-fi novels?`Terry Pratchett`pratchett
A print made by carving on a wood block, which is then inked and printed?`Woodcut
On a represented form, a point of most intense light?`Highlight
Who designed the album sleeve for the Rolling Stones LP 'Sticky Fingers'?`Andy Warhol`warhol
Name the Shakespeare play from this ultra short plot summary: Urged on by his wife, a man murders his king in order to take his place?`Macbeth
A technique in abstract painting developed in the 1950s. It focuses on the lyrical effects of large areas of color, often poured or stained onto the canvas?`Color field painting
Design style prevalent during the 1920s and 1930s, characterized by a sleek use of straight lines and slender forms?`Art deco
Who painted 'The Blue Boy'?`Gainsborough
Which author described World War One as 'The War To End All Wars'?`HG Wells`h.g. wells`wells
Who was Winnie the Pooh's neighbour?`Piglet
The visual and tactile quality of a work based on the particular way the materials are handled; also, the distribution of tones or shades of a single color?`Texture
Which famous book contains the line 'It was the best of times it was the worst of times it was the age of wisdom'?`A Tale of Two Cities
Ground chalk or plaster mixed with glue, used as a base coat for tempera and oil painting?`Gesso
For which novel was Boris Pasternak awarded the 1958 Nobel Prize - an award he declined?`Dr Zhivago`dr. zhivago
Faulkner penned this book with 4 distinctive sections: Benjy, Quentin, Jason, and Dilsey sections?`The Sound and the Fury
Who kills Nancy in Dicken's novel 'Oliver Twist'?`Bill Sykes 
Which famous book begins with the line: 'Not long ago, there lived in London a young married couple of Dalmation dogs named Pongo and Misses Pongo'?`101 Dalmations 
Which author wrote the 'Just So Stories'?`Rudyard Kipling`kipling
What is the name of Hamlet's tragic admirer?`Ophelia
The ____ ____ school of poetry includes poets such as Frank O'Hara, John Ashbery and Kenneth Koch?`New York
Gandalf's elven name.?`Mithrandir
A method of painting developed by Seurat and Signac in the 1880s. It used dabs of pure color that were intended to mix in the eyes of viewers rather than on the canvas. It is also called divisionism or neoimpressionism?`Pointillism
What word is Isaac Asimov famous for coining?`Robotics
Who wrote three books under the title "Das Kapital"?`Karl Marx`marx
Who wrote the 'Father Brown' crime stories?`G.K. Chesterton`chesterton`gk chesterton
Who wrote "The Count of Monte-Christo"?`Alexander Dumas`dumas
According To "The Hitchhikers Guide To The Galaxy" what number is the answer to everything?`Forty Two`42
What Shakespearean play features the line: A plague on both your houses?`Romeo and Juliet
Which Shakespearean play is set in the Forest Of Arden?`As You Like It 
Which US clarinetist player's real name was Arthur Jacob Shaw?`Artie Shaw 
A representation of a human or an animal form?`Figure
In 'Romeo and Juliet', who gave a long monologue about Queen Mab?`Mercutio
In which Shakespearean Play would you find the clown Costard?`Love's Labour Lost`love labour lost
In what book would you find a Hefalump?`Winnie the Pooh
Who said 'But, soft! what light through yonder window breaks'?`Romeo
A decorative art movement that emerged in the late nineteenth century. Characterized by dense assymmetrical ornamentation in sinuos forms, it is often symbolic and of an erotic nature?`Art noveau
Who wrote the 'Myth' series?`Robert Asprin
A movement of the 1920s and 1930s that began in France. It explored the unconscious, often using images from dreams. It used spontaneous techniques and featured unexpected juxtapositions of objects?`Surrealism
Who wrote 'The Female Eunuch'?`Germaine Greer`greer
A russian abstract movement begun in the early twentieth century. It employs an analytic vision based on fragmentation and multiple viewpoints?`Cubism
Which St. Louis born novelist & poet became a British subject in 1927?`T.S. Eliot`ts eliot 
Which of the Bronte sisters married the Reverend A B Nicholls in 1854?`Charlotte
Which famous book begins with the line 'On January 6, 1482, the people of Paris were awakened by the tumultuous clanging of all the bells in the city'?`The Hunchback Of Notre Damme 
In sculpting, the cutting of a form from a solid, hard material such as stone or wood, in contrast to the technique of modeling?`Carving
Who wrote 'Rendezvous with Rama'?`Sir Arthur C. Clarke`arthur clarke`clarke
Author of such works as 'Gravity's Rainbow', 'V', 'The Crying of Lot 49' and most recently, 'Mason & Dixon'?`Thomas Pynchon`pynchon
Who wrote '1984'?`George Orwell`orwell
The representation of inanimate objects in painting, drawing or photography?`Still life
Who painted 'Flatford Mill'?`Constable
Which famous book contains the line 'It is a truth universally acknowledged that a single man in possession of a good fortune must be in want of a wife'?`Pride & Prejudice`pride and prejudice
In 'A Christmas Carol', how many ghosts visited Scrooge?`Four`4
What science fiction novel features Duke Leto Atreidea & The Harkonnens?`Dune 
From the french word 'fauve', meaning 'wild beast'. A style adopted by artists associated with Matisse, c. 1905-1908. They painted in a spontaneous manner, using bold colors?`Fauvism
Who wrote the novel 'Emma'?`Jane Austen`austen
In painting, a work made of several panels or scenes joined together. A diptych has two panels; a triptych, three?`Polyptych
In which novel was it the job of the firemen to burn books?`Fahrenheit 451 
A movement in American painting and sculpture that originated in the late 1950s. It emphasized pure, reduced forms and strict, systematic compositions?`Minimalism
Which novel deals with the events of one day in Dublin in June 1904?`Ulysses
Spanish modernist and cubist Pablo _____?`Picasso
Which famous book begins with the line 'The mole had been working very hard all the morning, spring-cleaning his little home'?`The Wind In The Willows 
A single print made from a metal or glass plate on which an image has been represented in paint, ink, etc?`Monotype
The play "Our Town" is set where?`Grover's Corners
What story features Flopsy, Mopsy and Cottontail?`Peter Rabbit
Who wrote 'The Adventures Of Huckleberry Finn'?`Mark Twain`twain
In 'Romeo and Juliet', who said 'I have a faint cold, fear thrills through my veins'?`Juliet
Who wrote 'Weird Harold and Fat Albert'?`Bill Cosby
In which city will you find the largest opera house in the world?`New York City
What's Penthouse's sister publication for women?`Viva
A movement, c. 1915-23, that rejected accepted aesthetic standards. It aimed to create antiart and nonart, often employing a sense of the absurd?`Dadaism
In which city is Leonardo da Vinci's 'Last Supper' displayed?`Milan 
Which publishing company was founded in London in 1935 by Allen Lane?`Penguin 
Whose last words were 'Thus with a kiss I die'?`Romeo
A printing process in which ink impressions are taken from a flat stone or metal plate prepared with a greasy substance, such as an oily crayon?`lithography
Which author wrote 'The Spy That Came In From The Cold'?`John Le Carre`le carre
Who wrote the opera 'The Flying Dutchman'?`Wagner 
What was the title of the first James Bond novel?`Casino Royale 
What is the name of the bird in The Peanuts comic?`Woodstock 
What Dutch master painted 64 self-portraits?`Rembrandt
In 'Alice In Wonderland', who never stopped sobbing?`Mock Turtle
Which American author wrote Jaws?`Peter Benchley`benchley
Whose ghost appears at the dinner table in 'Macbeth'?`Banquo
What were the two cities in 'A Tale Of Two Cities'?`London and Paris`paris and london
Frodo is chosen to deliver The Ring into the heart of what?`Mount doom
Movement in painting, originating in New York City in the 1940s. It emphasized spontaneous personal expression, freedom from accepted artistic values, surface quallities of paint, and the act of painting itself?`Abstract expressionism
Which painter cut off his own ear?`Vincent Van Gogh
Who wrote 'little lamb, who made thee'?`William Blake`blake
What were the tree like creatures in The Lord Of The Rings called?`Ents 
Bob Kane created who?`Batman
A method of producing images or letters from sheets of cardboard, metal, or other materials from which forms have been cut away?`Stenciling
To what was 'The Hall Of Arts & Sciences' changed to?`The Royal Albert Hall 
What was the famous novel written in gaol, by John Bunyan?`Pilgim's Progress 
Which novel was originally going to be titled Elinor And Marianne?`Sense And Sensibility 
Who wrote the long religious epic, "Paradise Lost"?`John Milton`milton
In 'Romeo and Juliet', who says 'what must be must be'?`Juliet
Who composed the ballet 'Romeo & Juliet'?`Prokofiev 
Which is the largest museum in the world?`Louvre
In which John Steinbeck story features the slow-witted Lennie and his friend George ?`Of Mice and Men
What is an Icelandic epic called?`Saga
Who composed the opera 'Oedipus Rex'?`Stravinsky 
In which book would you find the characters Desinov & Dolokhov?`War and Peace
Who wrote the 'Noddy' books?`Enid Blyton`blyton
H.G. Wells novel where Earth is invaded by Martians?`War of the Worlds
What series did Robert Jordan write?`Wheel of Time
A European style developed in France in the late eleventh century. Its sculpture is ornamental, stylized and complex?`Romanesque
-126
View File
@@ -1,126 +0,0 @@
How much GBE is 3 shocks?`36`thirty six`thirtysix
How much DPS does a maxed zooka do?`538
What is the name of the enemy force in Boom Beach?`Blackguard
Who is the commander of the enemy?`Lt. Hammerman`Hammerman
Who controls the War Factory?`Colonel Gearheart`Gearheart
How much GBE does the third Universal Remote cost?`22`twenty two`twentytwo
A group of islands is called a(n)___?`Archipelago
What colour are Ice Stones?`Blue
What is the official name for Red Stones?`Magma Stones`Magma
What is the official name for Purple Stones?`Dark Stones`Dark
What is the maximum % of a PSC Masterpiece?`75%`75`seventy five`seventyfive
What type of statue do you get when you combine 7 fragments?`idol
If you crushed two Ice Masterpieces how much powder would you have?`14`fourteen
What is smaller than a Shard?`fragment`frag
If you had a perfect Wood Production Masterpiece and you boosted it, what percent would you be getting?`124%`124
What is the maxiumum boosted GBE for someone with 6 GBE statues?`185
What is the name of the Achievement for salvaging 3,000 statues?`perfectionist
During the tutorial how many diamonds does it cost to complete the sniper tower?`0`zero
What is the nickname for a rifleman?`Johnson
What is the only unit that can move and attack at the same time?`Heavy
How much health does a maxed heavy have?`5034`5,034
What word does the troop name 'Zooka' come from?`Bazooka
Which troop has more DPS than health?`Zooka
What HQ level are tanks unlocked at?`11`eleven
What Landing Craft level is required to hold two tanks?`12`twelve
How much HPS do medics *really* do?`28`twenty eight`twentyeight
What is the seventh troop to unlock?`Grenadier
How much gold is the max grenadier upgrade?`8700000`8,700,000
How many tiles is a scorcher's death radius?`3 tiles`3`three
What rate does a building frozen by a Cryoneer shoot?`50%`half`0.5
Which HQ level is the Cryoneer unlocked?`20`twenty
What is the most expensive troop to fully load a landing craft with?`Cryoneer
What is a Cryoneer's weapon called?`Freeze Beam
Which HQ level is required to repair the Derelict Hut?`4`Four
What is the name of zmoT's Task Force?`Triangle Nine`T9`Triangle 9
Sgt Brick has three abilities. Iron Will, Battle Orders, and___?`Cluster Grenade
What level War Factory must you beat to unlock Everspark?`45`forty five`fortyfive
How fast does Robot Overlord spawn critters when maxed?`4.3 seconds`4.3s`4.3
What level must Everspark be to unlock the Universal Remote?`3`three
How much GBE does three artillery cost?`15`fifteen
What's the most GBE that can be returned (from destroyed buildings) using a single artillery shot?`12`twelve
How much GBE does artillery increase by for each shot?`2`two
How long does a maxed flare last for?`30 seconds`30s`30`thirty seconds
How much health does a maxed medkit heal?`1075`1,075
How long does a maxed shock bomb last for?`10 seconds`10s`10
How many missiles are in a barrage?`15`fifteen
How many tiles wide is a barrage?`six`6
How much does one barrage and one artillery cost?`13`thirteen
Who is currently (April 2017) the community manager for Boom Beach?`Rlight`ryan`ryan lighton
What HQ level is smoke unlocked at?`14`fourteen
Which company makes Boom Beach?`SuperCell`Super Cell
How many seconds does a maxed smoke cover for?`13 seconds`13`13s
If you have level 5 critters how many critters will be in each crate?`10`ten
How long does the level 6 critter upgrade take (in days)`3`three
What percent chance do you have of getting intel when you defeat an NPC base?`25%`25`twenty five
When you beat an NPC what percent chance do you have of getting a prototype part?`8%`8`eight
If you have 1209 VP and beat 4 NPC bases what will your VP be when you are done?`1213
What is the name of the rank you receive when you hit 1000 VP?`Brigadier III`Brigadier 3
What rank is obtained at 450 VP?`Major I`Major 1
How many intel does a player with the rank Legend III receive with their supply chest?`5`five
How many victory points are required to obtain the Supply Chest?`5`five
How many hours between supply chests?`20`twenty
What is the name of the Friday event?`Imitation Game`IG
War Factory comes on which day of the week?`Thursday`thurs
In game you can be invaded by Blackguard and what?`mercenary`mercenaries
What is the maximum percentage chance of an invasion the Radar can display?`17`17%
How many explorable islands are there with a level 20 radar?`233
What's the lowest possible level of a resource base?`3`three
How many resource bases must you control to obtain the War Production achievement?`35`thirty five`thirtyfive
What is used to upgrade Hero Abilities`Hero Tokens
How much gold can a maxed residence hold?`130,000`130000
What is the only building whose last upgrade doesn't cost Wood?`Sawmill
Which storage does not change appearance when filling up?`Gold Storage`Gold
What is the name of the achievement for upgrading the Gold Storage to level 10?`War Chest
Which Economy building is primarily built below the ground?`Vault
Which is the only defense that is manned by a troop?`Sniper Tower`sniper
What is the fastest shooting defensive building?`MMG 9000`MMG9000
What is the first splash damage defense unlocked in the game?`mortar
Which single shot defense has the same range as a machine gun?`cannon
How many boom cannons can a level 20 HQ build?`Four`4
How many rockets does a rocket launcher fire in two volleys?`12`twelve
Which defense has the largest blindspot?`rocket launcher`rl`rls
What is the final defensive building to be unlocked?`Shock Launcher`sl
Which one default (non prototype) defense can not be found on resource bases?`Shock Launcher`sl
How much damage does a maxed level 22 mine do?`296
What is the maximum level for a Boom Mine?`18`eighteen
What is the smallest size for a Task Force?`5`five
How much intel does it cost a 50 man TF to start Forlorn Hope?`682
How many ranks are there in a Task Force?`4`four
What is the intel cap on a 25 member Task Force?`600`six hundred
How intel much would 3 sabotages cost?`15`fifteen
How much intel does it cost for a 10 member TF to start Sour Grapes?`113
How much intel does it cost for a 5 member TF to start Foxtrot?`93
How much intel does it cost for a 25 member TF to start Dead End?`408
How many Force Points are possible in Curtain Call?`1110
How many Force Points are possible in Mambo?`475
How many statues can a level 6 sculptor have?`8`eight
How many statues can a level 4 statue storage hold?`4`four
Which of Dr.T's islands appears first in the event cycle?`Tropical
What HQ is required to unlock Mega Crab`7`seven`hq7
Which defense is orange and was added for Halloween Mega Crab?`Scary mortar
Which building releases a pink blast which increases the speed of all troops and buildings nearby?`speed serum
Which defense reduces attack and movement speed by 75%?`cryo bomb
What XP level is the HQ on Stage 6 of Dr.T Volcano?`60`sixty
What can you buy with Trader Tickets?`Trader Crates`crates
What time does the Trader arrive?`7pm`19:00`7:00pm`1900`7 pm
What is this building called? https://goo.gl/KZWP1X`Bunker
What is this building called? https://goo.gl/kWHKZz`Ominous Hatch
What is this building called? https://goo.gl/vkh43J`Factory Supplies
What is the name of this building? https://goo.gl/arvmiT`Dream Pipes
This mortar has no blindspot, what is it called? https://goo.gl/5Ekjop`Super Mortar 3000`Super Mortar Three Thousand
There's a gunboat on your map and it's Monday, what event is it?`Hammerman Strikes Back
War Time… what? https://goo.gl/JIwbAK`epaulets`Epaulettes
Every player in Boom Beach starts with this IGN?`Commander
What is the maximum depth of the Submarine?`1500 meters`1500m`1,500`1,500m`1500 m`1,500 m
How many dives must you complete to get the Submariner achievement?`500
What is the largest possible tree called?`Mangrove Grove`Grove`Pine Grove
What variety of tree grows on ice bases?`Pine
What is this prototype called? https://goo.gl/UQYkeo`Power Rod
What is the name of this prototype? https://goo.gl/MWmygA`Field Capacitor
Name this prototype module: https://goo.gl/DXrKtM`Complex Gear
What sign is on the front of the Operation Reward boat?`No smoking: http://i.imgur.com/Tk49o1E.jpg`No smoking
Which Mega Crab defence is this? https://goo.gl/IFcaHL`cryo bomb`cryobomb
What was the name of the update that contained the first Mega Crab?`The Last Crustacean`Last Crustacean
How many tokens does it cost to upgrade Battle Orders to max level?`120`one hundred and twenty
How many Hero Tokens are in this crate? http://i.imgur.com/fSYlcgi.jpg`one`1
-74
View File
@@ -1,74 +0,0 @@
What car is this? http://i.imgur.com/0hiabXk.jpg`Bugatti Veyron`Veyron
What car is this? http://i.imgur.com/lEqHceK.jpg`BMW M5`M5
What car is this? http://i.imgur.com/XDczAbn.jpg`Audi R8`R8
What car is this? http://i.imgur.com/ZLzZkiQ.jpg`Ferrari 451 Italia`451 Italia`451
What car is this? http://i.imgur.com/YYmMMp6.jpg`BMW M3`M3
What car is this? http://i.imgur.com/bCq4ePD.jpg`Mclaren P1`P1
What car is this? http://i.imgur.com/KGCsWGo.jpg`Lamborghini Aventador`Lambo Avendator`Avendator
What car is this? http://i.imgur.com/Xfvt15w.jpg`Nissan Skyline R34 GTR`Skyline R34 GTR`R34 GTR`R34
What car is this? http://i.imgur.com/rl6uDya.jpg`Nissan Skyline R33 GTR`Skyline R33 GTR`R33 GTR`R33
What car is this? http://i.imgur.com/H3SK6uq.jpg`Nissan R35 GTR`R35 GTR`R35
What car is this? http://i.imgur.com/cOXNsmp.jpg`Mitsubishi 3000GT, 3000GT
What car is this? http://i.imgur.com/yXgbowC.jpg`Toyota Celica`Celica
What car is this? http://i.imgur.com/MT6vGov.jpg`Subaru WRX STI`WRX STI`WRX
What car is this? http://i.imgur.com/Sx277Np.jpg`Jeep Grand Cherokee`Grand Cherokee`Cherokee
What car is this? http://i.imgur.com/uuirrWV.jpg`Chevrolet Corvette C7 Z06`Corvette C7 Z06`C7 Z06`Corvette Z06`Z06
What car is this? http://i.imgur.com/u18TuTM.jpg`Honda Odyssey`Odyssey
What car is this? http://i.imgur.com/91Qr2qU.jpg`Ariel Atom`Atom
What car is this? http://i.imgur.com/ByN5HvO.jpg`Jaguar F-TYPE`Jaguar F TYPE`F-TYPE`F TYPE
What car is this? http://i.imgur.com/7yJctRM.jpg`Aston Martin Vulcan`Vulcan
What car is this? http://i.imgur.com/qyWZlNp.jpg`Toyota FT86`FT86
What car is this? http://i.imgur.com/oVr6FPH.jpg`Subaru BRZ`BRZ
What car is this? http://i.imgur.com/LwMyFVe.jpg`Mazda Miata`Miata`Mazda MX5`MX5
What car is this? http://i.imgur.com/qxG9gDx.jpg`Shelby Cobra`Cobra
What car is this? http://i.imgur.com/KCd50kw.jpg`Rolls Royce Wraith`Rolls Wraith`Wraith
What car is this? http://i.imgur.com/WRwLTEi.jpg`Mercedes Benz C63 AMG`Mercedes C63 AMG`C63 AMG`C63
What car is this? http://i.imgur.com/UDNVozm.jpg`BMW 135i`135i`E82 135i`135i E82
What car is this? http://i.imgur.com/Z359mLS.jpg`Mercedes Benz A45 AMG`Mercedes A45 AMG`A45 AMG`A45
What car is this? http://i.imgur.com/FUhK0aW.jpg`Honda Civic`Civic
What car is this? http://i.imgur.com/sUklkcm.jpg`Nissan Silvia`Silvia
What car is this? http://i.imgur.com/SGDwuza.jpg`Volkswagen Golf R32`VW Golf R32`VW Golf`VW 32`Golf`R32
What car is this? http://i.imgur.com/F1dO1Zv.jpg`Jeep Wrangler`Wrangler
What car is this? http://i.imgur.com/00lgfBA.jpg`Hummer H3`H3
What car is this? http://i.imgur.com/sScLnok.jpg`BMW Z4`Z4
What car is this? http://i.imgur.com/ehK34nf.jpg`BMW X5`X5
What car is this? http://i.imgur.com/Mo38uCR.jpg`Renult Clio`Clio
What car is this? http://i.imgur.com/Khv7UOz.jpg`Peugeot RCZ`RCZ
What car is this? http://i.imgur.com/ZRW6msa.jpg`Audi TT`TT
What car is this? http://i.imgur.com/yUzmtGU.jpg`Toyota Landcruiser`Landcruiser
What car is this? http://i.imgur.com/6hEIMPv.jpg`Holden Commodore`Commodore
What car is this? http://i.imgur.com/tz6AaI5.jpg`Holden Marloo`Marloo
What car is this? http://i.imgur.com/OJZeJJL.jpg`Mercedes Sprinter`Sprinter
What car is this? http://i.imgur.com/qiHToqo.jpg`Ford Falcon XR8`Falcon XR8`Falcon`XR8
What car is this? http://i.imgur.com/JJb0DEN.jpg`Ford Mustang`Mustang
What car is this? http://i.imgur.com/tfmqVrR.jpg`Mitsubishi Lancer Evolution`Lancer Evolution`Lancer Evo`Evo
What car is this? http://i.imgur.com/LpEAyAJ.jpg`Ford Focus ST`Focus ST
What car is this? http://i.imgur.com/kYXfqli.jpg`Mazda 3
What car is this? http://i.imgur.com/98oRdwe.jpg`Mazda 6
What car is this? http://i.imgur.com/34W6ivD.jpg`Mercedes GLS 63`GLS 63
What car is this? http://i.imgur.com/Fnnqpek.jpg`Nissan Fairlady Z`Fairlady Z
What car is this? http://i.imgur.com/ze0s5Kl.jpg`Nissan 350Z`Nissan 350 Z`350Z`350 Z
What car is this? http://i.imgur.com/GdfZKwg.jpg`Pagani Zonda R`Zonda R`Zonda
What car is this? http://i.imgur.com/xODGOOa.jpg`BMW M1 Procar`M1 Procar`M1
What car is this? http://i.imgur.com/2RloUuq.jpg`Alfa Romeo Spider`Spider
What car is this? http://i.imgur.com/drWpps4.jpg`Aston Martin DBS`DBS
What car is this? http://i.imgur.com/dy9Czy9.jpg`Chevrolet Camaro Z28`Camaro Z28`Z28
What car is this? http://i.imgur.com/yzmQqoz.jpg`Ferrari 250 GTO`250 GTO`250
What car is this? http://i.imgur.com/4Dxe2wr.jpg`Ferrari F40`F40
What car is this? http://i.imgur.com/ePOQioV.jpg`Ford GT
What car is this? http://i.imgur.com/cyLaOzo.jpg`Ford GT40`GT40
What car is this? http://i.imgur.com/j9YLUhp.jpg`Hennessey Venom GT`Venom GT
What car is this? http://i.imgur.com/Em4lvkt.jpg`Dodge Viper`Viper
What car is this? http://i.imgur.com/Mq9brzi.jpg`Ferrari FF`FF
What car is this? http://i.imgur.com/4NeysNc.jpg`Lotus Elise`Elise
What car is this? http://i.imgur.com/taY3NLJ.jpg`McLaren F1`F1
What car is this? http://i.imgur.com/6l2WugR.jpg`Mini Cooper S`Cooper S
What car is this? http://i.imgur.com/pzkLMpQ.jpg`Porsche 911`911
What car is this? http://i.imgur.com/Y1npBzd.jpg`Porsche Cayenne`Cayenne
What car is this? http://i.imgur.com/oORkbPu.jpg`BMW Z8`Z8
What car is this? http://i.imgur.com/08RU3gg.jpg`BMW 740i`BMW 740li`740i`740li
What car is this? http://i.imgur.com/adKTlrb.jpg`Honda Integra Type R`Integra Type R`Honda Integra`Integra
What car is this? http://i.imgur.com/pwAIBeS.jpg`Honda NSX`NSX
What car is this? http://i.imgur.com/23aME2z.jpg`BMW M3 E46`BMW M3`M3`E46 M3`M3 E46`E46
What car is this? http://i.imgur.com/PlnDBzc.jpg`Honda S2000`S2000
What car is this? https://i.imgur.com/STHmXOc.jpg`Factory Five`818C
-94
View File
@@ -1,94 +0,0 @@
What is the name of the first Arena?`Training Camp
How many cards do you get for taking the 1st place in the largest tournament?`two thousand`2000`2,000`2k
Who shoots destructo beams?`Witch
Who doesn't know what "Overkill" means?`Sparky
What is the best distraction for the Mini P.E.K.K.A?`A Butterfly`Butterfly
How much damage does a tournament level Freeze deal?`0`none
What does the hog say?`Hog Riderrrrr`Hog Rider`Hog Ridah`Hog Riderr
Who are the Guards without their shields?`Three ruthless bone brothers
What is the max level of the King?`13`thirteen
What is the max level of Common Cards?`13`thirteen
What is the max level of Rare Cards?`11`eleven
What is the max level of Epic Cards?`8`eight
What is the max level of Legendary cards?`5`five
What is The Log's favourite song?`They see me rollin'`they see me rollin
Annnnnd...?`Fireball!`fireball
What does the Lumberjack do at night?`Hunts The Log`hunts`hunts log`Hunt the log`He is hunting the log
How many Gems does a Wagon of Gold cost?`4500`4 500`4,500`4.500`4.5k`4,5k`4'500`Four Thousand Five Hundred
How many Gems does a Bucket of Gold cost?`500`five hundred
How many gems does a Pouch of Gold cost?`60`sixty
How much gold does a Pouch of Gold contain?`1000`1k`1,000`1.000`1 000`1'000`one thousand`a thousand
How much Gold does a Bucket of Gold contain?`10000`10 000`10k`10.000`10,000`10'000`ten thousand`10 thousand
How much Gold does a Wagon of Gold contain?`100 000`100000`100k`100'000`100,000`100.000`one hundred thousand`100 thousand
At which Arena can you unlock X-Bow?`Arena 3`Barbarian Bowl`3
What is the most known victim of Clash Royale?`Clash of Clans`CoC`clashofclans
What does the Bowler like the most?`Dark Elixir drinks`throwing rocks`dark elixir
What is the motto of the Ice Spirit?`Stay frosty
Disrespecting the Three Musketeers is a...?`mistake`cardinal sin
Where is the 4th Skeleton?`in the army`In the army`In the army now`skeleton army`skarmy
What is The Log seeking for?`Revenge`revenge
Miner doesn't use magic,but a...?`Shovel`shovel
At which Arena can you unlock Balloon?`Arena 2`2`Bone Pit
At which Arena can you unlock Valkyrie?`Arena 1`1`Goblin Stadium
At which Arena can you unlock Fireball?`Arena 0`0`Training Camp
At which Arena can you unlock Royal Giant?`Arena 7`7`Royal Arena
At which Arena can you unlock Golem?`Arena 6`6`Builder's Workshop
At which Arena can you unlock Poison?`Arena 5`5`Spell Valley
At which Arena can you unlock Ice Spirit?`Arena 8`8`Frozen Peak
At which Arena can you unlock Hog Rider?`Arena 4`4`P.E.K.K.A's Playhouse
At which Arena can you unlock Rocket?`Arena 3`3`Barbarian Bowl
At which Arena can you unlock Fire Spirits?`Arena 5`5`Spell Valley
How many trophies do you need to get into Training Camp?`none`0`zero
How many trophies do you need to get into Goblin Stadium?`0`zero
How many trophies do you need to get into Bone Pit?`400`four hundred
How many trophies do you need to get into Barbarian Bowl?`800`eight hundred
How many trophies do you need to get into P.E.K.K.A's Playhouse?`1100`1'100`1,000`1.100`one thousand one hundred`eleven hundred
How many trophies do you need to get into Spell Valley?`1400`1'400`1,400`1.400`fourteen hundred`one thousand four hundred
How many trophies do you need to get into Builder's Workshop?`1700`1,700`1'700`1.700`seventeen hundred`one thousand seven hundred
How many trophies do you need to get into Royal Arena?`2000`2,000`2'000`2.000`2k`two thousand
How many trophies do you need to get into Frozen Peak?`2300`2,300`2.300`2'300`two thousand three hundred`twenty three hundred
How many trophies do you need to get into Legendary Arena?`3000`3,000`3.000`3'000`3k`three thousand
Which Legendary card is unlocked at Frozen Peak?`Lumberjack`lj
Which Legendary card is unlocked at P.E.K.K.A's Playhouse?`Lava Hound`lavahound`lh
Which Legendary card is unlocked at Spell Valley?`Ice Wizard`icewizard`iw
Which Legendary card is unlocked at Royal Arena?`Princess
Name one Legendary card that is unlocked at Builder's Workshop.`Sparky Miner or The Log`Sparky`Miner`The Log`log
What is the Furnace's specialty?`Pancakes`pancake
What is the Royal Giant's passion?`his beard`beard
What is adorable, but on fire?`Fire Spirits`firespirits`fs
What's too hot for TV?`Ice wizard's mustache`iwmustache`ice wiz mustache`handlebar mustache`ice wizard
The Wizard will blow you away with his...?`handsomeness`fireball
What's the only thing in the game that isn't affected by Poison?`The grass`grass
Who's a majestic flying beast?`Lava Hound`lavahound`lh
What makes everybody chill?`Freeze Spell`freeze
What uses the power of Electrickery?`Tesla
How many make a crowd?`Three`3
How many make a horde?`Six`6
What makes everyone say "Chaaaarge!"`Rage Spell`Rage
What appreciates your tower?`X-bow`xbow
"Roses are red, ....... are blue, they can fly, and will crush you!" Who is this about?`Minions`minion`3 minions`three minions
A pile of bones?`Skeletons`skellies`skeleton`skelly
What is the creepiest building according to its descripton?`Tombstone`tomb`tombst`tmbstne`tstone
At which Arena can you unlock Furnace?`Arena 5`Spell Valley`5
Where you shouldn't look inside?`Goblin Hut`gob hut
At which Arena do you get a chance for Legendary cards to appear in the shop?`Legendary Arena`Legendary`Legend`A9`9`Arena 9
Who's a one-man wrecking crew?`Giant
Who's born ready for a barbeque?`Baby Dragon`baby drag
Who has delicately coiffed hair?`Musketeer`musket`musky`musket`musk
Who is the Knight for the barbarian?`Cousin
Who has eyes that unfortunately don't shoot lasers?`Witch
Who won't help you colour your hair thus often doing it?`Archers
Larry, Harry, Terry, Mary, Leedoot and friends together make a...?`Skeleton Army`skarmy
Who has a coil of iron and wheels of wood?`Sparky
Who's stunning?`Princess
Who carries around a drink on the Arena?`Lumberjack`lj
Why is it bad for you if you feel warm feelings towards the Princess?`Because you're probably on fire!`cuz ur on fire`because your probably on fire`You are on fire`you are probably on fire
How many different cards is available in shop on Sunday?`6`six
How much gold does the 2nd Legendary cost in the shop?`80000`80k`80,000`80'000`80.000`80 000`eighty thousand
How many Gems does a Wagon contain?`6500`6,500`6'500`6.500`6.5k`six thousand five hundred`sixtyfive hundred
Who sounds like he has a bucket on his head?`Dark Prince`dp`darkp`dark p
How many gems does it cost to create the largest tournament?`250000`250'000`250 000`250.000`250,000`two hundred and fifty thousand
How many cards are you rewarded for winning a 500 player tournament?`1200`1 200`1,200`1'200`1.200`1.2k`one thousand two hundred`twelve hundred
How many cards are you rewarded for winning a 200 player tournament?`120`one hundred and twenty
How long is Overtime in tournaments?`3 minutes`3min`3mins`3 mins
When do you have less that 8 cards in your deck?`In tutorial`tutorial`training camp
-164
View File
@@ -1,164 +0,0 @@
How many layers are present in TCP/IP model?`Seven`7
What is a program which translates from one high-level to a machine level?`Compiler
A computer which links several PCs together in a network is called a...?`Server
Which device allows your computer to talk to other computers over a telephone line as well as access the internet?`Modem
How many logical drives is it possible to fit onto a physical disk?`Twenty-four`twentyfour`24`twenty four
According to ISO, HDLC means...?`High-level Data Link Control`highlevel data link control`high level data link control
How much information can a CD (Compact Disc) usually store?`650 Mb
The cabinet containing the computers working parts is known as the...?`Workstation`Case
IP Addresses have ________ bytes?`Four`4
Older networks often use another type of cable, called ...?`Coaxial cable
When a key is pressed on the keyboard, which standard is used for converting the keystroke into the corresponding bits?`ANSI
This unit of a computer system is the unit where the actual execution of instructions takes place during processing operation?`Arithmetic Logic Unit`Arithmetic Logic
What is the name of the software that allows us to browse through web pages called?`Browser
What is the battery used to change date/time of system?`BIOS battery`BIOS
What is the address given to a computer connected to a network called?`IP Address`IP
What does UPS stand for?`Uninterruptible Power Supply
A computer that is on the network is a...?`Node
What does HTML stand for?`Hyper text markup language
A server that can perform no other task besides network services is called...?`Dedicated server
What password is cleared by changing the jumper setting in the motherboard?`CMOS
Small portable disk inside a plastic cover. Its thicker than the floppy and needs a special drive connected to the computer?`Zip Disk`zip drive`zip disc
Blank optical disk where you can save only once, even when not the whole space available is used?`Compact Disc-Recordable`CD-R`cd r`Compact Disk-Recordable`Compact Disc RecordableCompact Disk Recordable
Amount of data a Floppy Disk can store?`1.4 MB
Removable and rewritable electronic data storage device that can be plugged into almost any PC?`USB
Rewritable optical disk where you can save and erase data several times?`Compact Disc-Rewritable`CD-RW`CD RW`Compact Disc Rewritable`Compact Disk Rewritable`Compact Disk-Rewritable
A compact disc containing permanently stored data that cannot be altered?`Compact Disc Read-Only Memory`CD-ROM`CD ROM`Compact Disc-Read-Only Memory`Compact Disk Read-Only Memory`Compact Disc Read Only Memory`Compact Disk Read Only Memory
Solid electronic data storage device used in cameras, telephones, laptops, music players and video games consoles?`Memory Card
What is the internal storage of a computer?`Hard Disk`hard drive`hard disc
What is the basic unit of measurement storage in computer science?`Byte
The input device that rolls on a desktop and controls the position of the cursor on then on the screen is called a...?`Mouse
The scanning technology, used in banks, to read the numbers at the bottom of checks is...?`MICR
The input device that has the monitor screen covered with a flexible layer is the...?`Touch Screen`touchscreen
What is a rigid, magnetically sensitive disk that spins rapidly and continuously inside the computer chassis or in a separate box connected to the computer housing?`Hard Disk`hard drive`hard disc
When an application fires up, the application is loaded into...?`RAM
The OSPF Type 1 packet is the _________ packet.`Hello
Which value represents the “trustworthiness” of a route and is used to determine which route to install into the routing table when there are multiple routes toward the same destination?`Administrative distance
The default administrative distance for a static route is...?`One`1
Static routes are configured by the use of the global configuration command...?`IP Route
Which subnet mask would be used as the classful mask for the IP address 128.107.52.27?`255.255.0.0
Which subnet mask would be used as the classful mask for the IP address 192.135.250.27?`255.255.255.0
The buffers for packet processing and the running configuration file are temporarily stored in which type of router memory?`RAM
A network technician is configuring port security on switches. The interfaces on the switches are configured in such a way that when a violation occurs, packets with unknown source address are dropped and no notification is sent. Which violation mode is configured on the interfaces?`Protect
To enable RIP routing for a specific subnet, the configuration command network 192.168.5.64 was entered by the network administrator. What address, if any, appears in the running configuration file to identify this network?`192.168.5.0
What is the phrase for how often your screen's image is redrawn?`Refresh Rate
The small program which allows a piece of computer hardware to work with the operating system is called what?`driver
What is the maximum number of peripheral devices which can be connected through a single USB port?`127
Who invented the computer mouse?`Douglas Engelbart
Between CRT and LCD monitors, which uses less power?`LCD
If one of your peripherals is not functioning properly, where in the Windows XP operating system would you check its status?`device manager
What type of keyboard is used to transmit digital signals which correspond to sample sounds?`MIDI
What do you call "suction like cups for attaching a phone handset to computer equipment"?`acoustic coupler
What numeric base system was used by the Honeywell-800?`octal
What is the largest piece of the computer; it is also the one that has the fewest electronic components?`Case
When you look at a processor, you normally see a plastic or ceramic case with metal pins and possibly other metal parts. However, the active component inside is made of a different material - which one?`silicon
One of the most important performance-enhancing concepts of a modern processor is called speculative execution. What other concept is this tightly associated with?`Pipelining
The moment you turn on your computer, it begins to access its memory. BIOS, the software that boots up your computer, is located in which type of memory?`ROM
When looking at your computer's memory, you will come across the storage hierarchy, which separates storage into primary, secondary, and tertiary. Primary storage refers to memory that is directly accessible to the CPU. What is another name for primary storage?`Main Memory`Main
A computer's cache will hold data that is used most often to make it faster to access. There are various levels of cache, the first of which is a small amount of memory found inside the what?`CPU`Central processing unit
RAM stands for random access memory and it can be static (SRAM) or dynamic (DRAM). SRAM stores a bit of data using which type of circuit?`Flip-Flop`flip flop`flipflop
The memory stored in the capacitor in a __ circuit has to be constantly refreshed, and this happens several times in a second because the capacitor leaks.`DRAM
Virtual memory acts like RAM, but it is actually a process or program that creates a paging file to move items from RAM into that file. Where does it create the paging file?`hard disk`hard drive`hard disc
Secondary storage, like the hard drive, isn't directly accessible to the CPU like primary storage. What is another name for secondary storage?`auxiliary storage`auxiliary
Data can come from information stored in the computer's permanent storage, or it can come from peripheral devices, such as keyboards. Regardless of whether it is input through a peripheral device or taken from storage, which type of memory does most data go through first?`RAM
The first hard disks, created in the 1950s, could be up to 20 inches in diameter. Which company invented the hard disk?`IBM
Inside the hard disk drive, where is the data actually stored?`platter
In one pixel, how many different colours of light are there?`Three`3
In what year was DOS created?`1981
What is CIH also known as?`Chernobyl Virus
Video-sharing site that was founded by three former PayPal employees in February 2005.`YouTube
In which year was ASCII formed?`1963
In which year was the Personal Computer featured as the Times 'Man of the Year'?`1982
What is the name of Linux's Mascot?`Tux
What was the original name of Netscape Navigator?`Mozilla
What was the first ARPANET message?`lo
What error is "Site Access Forbidden/Password Protected"?`Error 403`403
Early web search engine founded in 1995. Purchased by Yahoo! in 2003 which shut it down in 2013?`AltaVista
Often blocked file sharing site using the BitTorrent protocol, founded in Sweden in 2003?`The Pirate Bay
Internet-based network of content, providing articles and videos about various topics, authored by experts. Founded in 1997?`About.com
Social and visual discovery tool, founded by Ben Silbermann, Evan Sharp and Paul Sciarra in 2010?`Pinterest
Crowdfunding platform founded in 2009 by Perry Chen, Yancey Strickler and Charles Adler?`Kickstarter
Provider of on-demand Internet streaming media since 1997. Started its own original programming in 2011 with the series House of Cards?`Netflix
Business-oriented social networking service, co-founded by Reid Hoffman in 2003?`LinkedIn
Internet domain registrar and web hosting company, founded by Bob Parsons in 1997?`Go Daddy
Social networking service co-founded by Mark Zuckerberg in 2004?`Facebook
E-commerce business founded in 1998 and focuses on money transfers to be made through the Internet?`PayPal
Quattro Pro, Paradox and Trellix are part of which office suite?`Corel WordPerfect
In what year did ARPANET became operational?`1969
Which company first produced the 3 1/2 inch floppy disk?`Sony
In which year was MIDI introduced?`1983
What does CE in Windows CE, OS from Microsoft for palmtops, stand for?`Consumer Electronics
Which company invented the floppy disk?`IBM
Which company first manufactured CDs?`Philips
In what year was the "@" chosen for its use in e-mail addresses?`1972
What error is "Site not found -in HTTP"?`Error 404`404
TCP port number 80 is usually reserved for?`HTTP
What is commonly regarded as the first inexpensive and commercially available computer with GUI and Mouse?`Apple Lisa
In what year was the Domain Name System created?`1983
What error is "Internal error/server-configuration problems"?`Error 500`500
[Input/Output]Monitor?`Output
[Input/Output]Keyboard?`Input
[Input/Output]Scanner?`Input
[Input/Output]Graphics Tablet?`Input
[Input/Output]Trackball?`Input
[Input/Output]Laser Printer?`Output
[Input/Output]Mouse?`Input
[Input/Output]Speakers?`Output
[Input/Output]Inkjet Printer?`Output
[Input/Output]Digital Camera?`Input
[Input/Output]Touchpad?`Input
[Acronyms]What does ISP stand for?`Internet Service Provider
[Acronyms]What does IP stand for?`Internet Protocol
[Acronyms]What does ISO stand for?`International Standard Organization
[Acronyms]What does LPT stand for?`Line Printer
[Acronyms]What does CD-ROM stand for?`Compact Disc-Read Only Memory`Compact Disc Read Only Memory`Compact Disk-Read Only Memory`Compact Disk Read Only Memory
[Acronyms]What does CD-R stand for?`Compact Disc-Recordable`Compact Disc Recordable`Compact Disk-Recordable`Compact Disk Recordable
[Acronyms]What does CD-RW stand for?`Compact Disc-Rewritable`Compact Disc Rewritable`Compact Disk-Rewritable`Compact Disk Rewritable
[Acronyms]What does www stand for?`World Wide Web
[Acronyms]What does Spool stand for?`Simultaneous Peripheral Output On-Line`Simultaneous Peripheral Output On Line
[Acronyms]What does NIC stand for?`Network Interface Card
[Acronyms]What does PAN stand for?`Personal Area Network
[Acronyms]What does SDLC stand for in Networking protocol?`Synchronous Data Link Control
[Acronyms]What does EOF stand for?`End of File
[Acronyms]What does SCSI port (pronounced skuzzy) stand for?`Small Computer System Interface
[Acronyms]What does RAM stand for?`Random Access Memory
[Acronyms]What does SCSI stand for?`Small Computer System Interface
[Acronyms]What does MTBF stand for?`Mean Time Between Failures
[Acronyms]What does CPU stand for?`Central Processing Unit
[Acronyms]What does LCD stand for?`Liquid Crystal Display
[Acronyms]What does VDU stand for?`Visual Display Unit
[Acronyms]What does USB stand for?`Universal Serial Bus
[Acronyms]What does TCP stand for?`Transmission Control Protocol
[Acronyms]What does CRT stand for?`Cathode Ray Tube
[Acronyms]What does DVI stand for?`Digital Visual Interface
[Acronyms]What does modem stand for?`Modulator Demodulater
[Acronyms]What does SDRAM stand for?`Synchronous Dynamic Random Access Memory
[Acronyms]What does ROM stand for?`Read Only Memory
[Programming Languages]One of the oldest high-level programming languages in widespread use today. It was designed by John McCarthy in 1958 and quickly became a favored programming language for artificial intelligence`LISP
[Programming Languages]Purely functional programming language since 1990. It was named after US mathematician and logican H. Curry and uses the Greek letter lambda as its logo.`Haskell
[Programming Languages]Influential programming language, published in 1970 by Niklaus Wirth as a small and efficient language intended to encourage good programming practices using structured programming and data structuring.`Pascal
[Programming Languages]Educational programming language, designed in 1967 and modeled on the LISP programming language.`Logo
[Programming Languages]Multi-paradigm, high level programming language launched by Microsoft in 2002 to make programs for Windows in a an 'drag-and-drop' interface.`Visual Basic .NET
[Programming Languages]One of the first programming languages, designed by Kemeny and Kurtz in 1964. Its design philosophy emphasizes ease of use and became widespread on microcomputers in the mid-1970s and 1980s.`BASIC
[Programming Languages]Language that appeared in 1985, originally to create database and business programs operated primarily under DOS.`Clipper
[Programming Languages]Programming language and web application development platform invented in 1995 and purchased by Adobe in 2006. It was originally designed to connect simple HTML pages to a database.`ColdFusion
[Programming Languages]Popular high-level, general-purpose, interpreted, dynamic programming language created by Larry Wall in 1987. It is often used in CGI and text processing (e.g. parsing).`Perl
[Programming Languages]Server-side script engine that uses the VBScript or JScript languages for dynamically generated web pages. It was created by Microsoft in the mid 1990s and succeeded by a .NET version in 2002.`ASP
[Programming Languages]Compiled computer programming language created in 1959 and primarily used in business, finance, and administrative systems.`COBOL
[Programming Languages]Not a programming language, but a popular group of interrelated client-side web development techniques to exchange data without full webpage reloads.`Ajax
[Programming Languages]The most widespread logic programming language, desgined by Alain Colmerauer in 1972. Unlike many programming languages, it's declarative.`Prolog
[Programming Languages]Computer language since 1982 for creating vector graphics, best known for its use as a page description language in the electronic and desktop publishing areas.`Postscript
[Programming Languages]One of the most widely used and influentual programming languages of all time. It is an imperative and compiled language, initially developed by Dennis Ritchie and Ken Thompson between 1969 and 1973 at AT&T Bell Labs.`C
[Programming Languages]General-purpose, object-oriented programming language designed by Brad Cox and Tom Love. It is the main programming language used by Apple for the OS X and iOS operating systems,and their application programming interfaces.`Objective-C`objective c`objectivec
[Programming Languages]Language originally developed by Borland as a rapid application development tool for Windows as a successor to Borland Pascal.`Delphi
[Programming Languages]Widely used general-purpose, high-level programming language created by Guido van Rossum in 1991. Its design philosophy emphasizes code readability and its syntax allows to express concepts in relatively few lines of code.`Python
[Programming Languages]Very popular general-purpose, imperative programming language in high-performance computing (e.g. scientific use and supercomputers). It was initiated by John Backus and IBM in 1957.`Fortran
[Programming Languages]One of the most popular programming languages, created by James Gosling at Sun Microsystems in 1995. It is platform independent and based upon C and C++.`Java
[Programming Languages]A popular scripting language for computers, often run in web browsers to create or alter dynamic content. It was developed by Brendan Eich for Netscape in 1995.`Javascript
[Programming Languages]Multi-paradigm numerical computing environment and fourth-generation programming language since the late 70s, primarily intended for numerical computing.`MATLAB
[Programming Languages]Interpreted programming language for text processing and data extraction and was very popular in the late 1970s and 1980s. It is a standard feature of most Unix-like operating systems.`AWK
[Programming Languages]Scripting and object-oriented programming language developed by John H. Thompson for use in Adobe Director`Lingo
[Programming Languages]Programming language and software environment for statistical computing and graphics. It was introduced in 1993 and has become popular among statisticians and data miners.`R
[Programming Languages]Widely used programming language designed for managing data held in a relational database management system. It was initially developed Chamberlin and Boyce at IBM in the early 1970s.`SQL
[Programming Languages]Dynamic, object-oriented, general-purpose programming language with a focus on shortness and ease of use. It was influenced by Perl, Ada and Lisp and designed by Yukihiro Matsumoto in 1995.`Ruby
[Programming Languages]Computer scripting language originally developed by Macromedia Inc., now primarily used in Adobe Flash Player`ActionScript
File diff suppressed because it is too large Load Diff
-541
View File
@@ -1,541 +0,0 @@
What ability is this? https://i.imgur.com/PdTLkou.png `X Marks the Spot
What ability is this? https://i.imgur.com/Tbum8Mm.png `Wukong's Command
What ability is this? https://i.imgur.com/p6shYfB.png `Wrath of Nature
What ability is this? https://i.imgur.com/wZiSIAb.png `Wraithfire Blast
What ability is this? https://i.imgur.com/E5xrzuV.png `Winter's Curse
What ability is this? https://i.imgur.com/aHqmkB0.png `Windrun
What ability is this? https://i.imgur.com/CjmqL6c.png `Wild Axes
What ability is this? https://i.imgur.com/HG378HE.png `Whirling Death
What ability is this? https://i.imgur.com/puHHZ8N.png `Whirling Axes (Ranged)`Whirling Axes Ranged
What ability is this? https://i.imgur.com/y5RS5GM.png `Whirling Axes (Melee)`Whirling Axes Melee
What ability is this? https://i.imgur.com/CvmYu60.png `Wex
What ability is this? https://i.imgur.com/TYIYW4D.png `Weave
What ability is this? https://i.imgur.com/diJCQOO.png `Waveform
What ability is this? https://i.imgur.com/mNG28HG.png `Wave of Terror
What ability is this? https://i.imgur.com/2T8w9q2.png `Warpath
What ability is this? https://i.imgur.com/kgo57gs.png `Warcry
What ability is this? https://i.imgur.com/69dhFq0.png `Waning Rift
What ability is this? https://i.imgur.com/PCrmtNx.png `Walrus Punch
What ability is this? https://i.imgur.com/eKT4gKq.png `Walrus Kick
What ability is this? https://i.imgur.com/dwI4ZYX.png `Wall of Replica
What ability is this? https://i.imgur.com/kRpniQ9.png `Voodoo Restoration
What ability is this? https://i.imgur.com/S885568.png `Void
What ability is this? https://i.imgur.com/0YpdsNT.png `Viscous Nasal Goo
What ability is this? https://i.imgur.com/zT3stw7.png `Viper Strike
What ability is this? https://i.imgur.com/U6wNAFy.png `Venomous Gale
What ability is this? https://i.imgur.com/Cgg4m1S.png `Vengeance Aura
What ability is this? https://i.imgur.com/o9KvFAt.png `Vendetta
What ability is this? https://i.imgur.com/66IUX1V.png `Vampiric Aura
What ability is this? https://i.imgur.com/UqFDO1o.png `Vacuum
What ability is this? https://i.imgur.com/ylsYhYn.png `Upheaval
What ability is this? https://i.imgur.com/E80vySv.png `Untouchable
What ability is this? https://i.imgur.com/0bX5emr.png `Unstable Current
What ability is this? https://i.imgur.com/ORiUzGL.png `Unstable Concoction Throw
What ability is this? https://i.imgur.com/ROUKHNY.png `Unstable Concoction
What ability is this? https://i.imgur.com/HJUyVQ2.png `Unrefined Fireblast
What ability is this? https://i.imgur.com/nl88bDE.png `Unburrow
What ability is this? https://i.imgur.com/MzcTM8h.png `True Form
What ability is this? https://i.imgur.com/ORT7Dwy.png `Tricks of the Trade
What ability is this? https://i.imgur.com/pNqzxeA.png `Tree Throw
What ability is this? https://i.imgur.com/SI8IZFe.png `Tree Dance
What ability is this? https://i.imgur.com/L4ILPLN.png `Tree Grab
What ability is this? https://i.imgur.com/Mx2so6i.png `Trap
What ability is this? https://i.imgur.com/GST8fid.png `Track
What ability is this? https://i.imgur.com/djmPOx3.png `Toss
What ability is this? https://i.imgur.com/hGaz2o5.png `Torrent
What ability is this? https://i.imgur.com/PB7Myh9.png `Tornado
What ability is this? https://i.imgur.com/bUdXqyZ.png `Tombstone
What ability is this? https://i.imgur.com/8lfQ4e4.png `Toggle Movement
What ability is this? https://i.imgur.com/xNqYfoK.png `Time Walk
What ability is this? https://i.imgur.com/JVJs8VI.png `Time Lock
What ability is this? https://i.imgur.com/ehrPB5V.png `Time Lapse
What ability is this? https://i.imgur.com/gG7OwWD.png `Time Dilation
What ability is this? https://i.imgur.com/Cp1QCfC.png `Timber Chain
What ability is this? https://i.imgur.com/De4lTvg.png `Tidebringer
What ability is this? https://i.imgur.com/Gzl5hkS.png `Thundergod's Wrath
What ability is this? https://i.imgur.com/2MbrJ06.png `Thunder Strike
What ability is this? https://i.imgur.com/Xwolrjn.png `Thunder Clap
What ability is this? https://i.imgur.com/TjIASfx.png `Thirst
What ability is this? https://i.imgur.com/OLF3HYi.png `The Swarm
What ability is this? https://i.imgur.com/FzAhlnW.png `Tether
What ability is this? https://i.imgur.com/63fjMat.png `Test of Faith
What ability is this? (removed from game) https://i.imgur.com/x0iTmMq.png `Test of Faith (Teleport)`Test of Faith Teleport
What ability is this? https://i.imgur.com/ai8I1Lr.png `Terrorize
What ability is this? https://i.imgur.com/sbiDRM8.png `Tempest Double
What ability is this? https://i.imgur.com/yFkkXar.png `Teleportation
What ability is this? https://i.imgur.com/73c0X8u.png `Telekinesis Land
What ability is this? https://i.imgur.com/xOSzlWY.png `Telekinesis
What ability is this? https://i.imgur.com/fKFtB6L.png `Take Aim
What ability is this? https://i.imgur.com/8jFinQN.png `Swashbuckle
What ability is this? https://i.imgur.com/SPqUual.png `Surge
What ability is this? https://i.imgur.com/Vm16ML0.png `Supernova
What ability is this? https://i.imgur.com/VMkk6Q1.png `Sunder
What ability is this? https://i.imgur.com/v3J9FU6.png `Sun Strike
What ability is this? https://i.imgur.com/RSgnSqT.png `Sun Ray
What ability is this? https://i.imgur.com/uMmwQ1a.png `Summon Wolves
What ability is this? https://i.imgur.com/ZzwIY1H.png `Summon Spirit Bear
What ability is this? https://i.imgur.com/BHTULeO.png `Summon Familiars
What ability is this? (removed from game) https://i.imgur.com/z93qGEx.png `Suicide Squad, Attack!`suicide squad attack
What ability is this? https://i.imgur.com/Q5IWZ8w.png `Strafe
What ability is this? https://i.imgur.com/hJ456Zc.png `Storm Hammer
What ability is this? https://i.imgur.com/2U8fvM5.png `Stop Sun Ray
What ability is this? https://i.imgur.com/vkc1MU1.png `Stop Rolling
What ability is this? https://i.imgur.com/kIpRoiL.png `Stop Icarus Dive
What ability is this? https://i.imgur.com/8z2ZykJ.png `Stone Remnant
What ability is this? https://i.imgur.com/v0RLs2l.png `Stone Gaze
What ability is this? https://i.imgur.com/AfySnUQ.png `Stifling Dagger
What ability is this? https://i.imgur.com/j7PzMhi.png `Sticky Napalm
What ability is this? https://i.imgur.com/jSljBqy.png `Static Storm
What ability is this? https://i.imgur.com/GwUQMwn.png `Static Remnant
What ability is this? https://i.imgur.com/wCbPETt.png `Static Link
What ability is this? https://i.imgur.com/oElP1im.png `Static Field
What ability is this? https://i.imgur.com/CWHpnWs.png `Stasis Trap
What ability is this? https://i.imgur.com/5mYgGEw.png `Starstorm
What ability is this? https://i.imgur.com/i1JiCuX.png `Stampede
What ability is this? https://i.imgur.com/gI4wLvb.png `Sprout
What ability is this? https://i.imgur.com/oKlUHE6.png `Sprint
What ability is this? https://i.imgur.com/ErBuVzh.png `Spring Early or Primal Spring`Spring Early`Primal Spring
What ability is this? https://i.imgur.com/K38Heb1.png `Split Shot
What ability is this? https://i.imgur.com/xxGhGa6.png `Split Earth
What ability is this? https://i.imgur.com/0yVFHjI.png `Splinter Blast
What ability is this? https://i.imgur.com/PKCajV2.png `Spirits Out
What ability is this? https://i.imgur.com/bggFesK.png `Spirits In
What ability is this? https://i.imgur.com/nYiXreU.png `Spirits
What ability is this? https://i.imgur.com/NXZtwjr.png `Spirit Siphon
What ability is this? https://i.imgur.com/kOJ6Iit.png `Spirit Lance
What ability is this? https://i.imgur.com/k1Qa44g.png `Spirit Form
What ability is this? https://i.imgur.com/G3yMjte.png `Spin Web
What ability is this? https://i.imgur.com/UJ2SfUQ.png `Spiked Carapace
What ability is this? https://i.imgur.com/6FMgz5M.png `Spell Steal
What ability is this? https://i.imgur.com/Dz7G2Ma.png `Spell Shield
What ability is this? https://i.imgur.com/TgFe0rb.png `Spectral Dagger
What ability is this? https://i.imgur.com/B7bhmxH.png `Spawn Spiderlings
What ability is this? https://i.imgur.com/syRZuJG.png `Spark Wraith
What ability is this? https://i.imgur.com/ZUB9LCI.png `Soul Rip
What ability is this? https://i.imgur.com/fztqvAc.png `Soul Catcher
What ability is this? https://i.imgur.com/IMfMkKO.png `Soul Assumption
What ability is this? https://i.imgur.com/wjMDyPe.png `Sonic Wave
What ability is this? https://i.imgur.com/lS7P0QI.png `Song of the Siren
What ability is this? https://i.imgur.com/jauB1Mi.png `Song of the Siren End
What ability is this? https://i.imgur.com/wJwUbrH.png `Snowball
What ability is this? https://i.imgur.com/FCISu8S.png `Smoke Screen
What ability is this? https://i.imgur.com/fzeIdiW.png `Slithereen Crush
What ability is this? https://i.imgur.com/kkcrkoo.png `Sleight of Fist
What ability is this? https://i.imgur.com/uzQb32K.png `Skewer
What ability is this? https://i.imgur.com/DcA2Vez.png `Skeleton Walk
What ability is this? https://i.imgur.com/tI1UsiQ.png `Silence
What ability is this? https://i.imgur.com/jMwUoNI.png `Shuriken Toss
What ability is this? https://i.imgur.com/nfMltKz.png `Shukuchi
What ability is this? https://i.imgur.com/th8jPI6.png `Shrapnel
What ability is this? https://i.imgur.com/zuJRDuj.png `Shockwave
What ability is this? https://i.imgur.com/kTJTxSn.png `Shield Crash
What ability is this? https://i.imgur.com/261lk7J.png `Shapeshift
What ability is this? https://i.imgur.com/XcI5kLq.png `Shallow Grave
What ability is this? https://i.imgur.com/e9pAwA8.png `Shadowraze (Near)`Shadowraze Near
What ability is this? https://i.imgur.com/tRgiIsx.png `Shadowraze (Medium)`Shadowraze Medium
What ability is this? https://i.imgur.com/YunlihM.png `Shadowraze (Far)`Shadowraze Far
What ability is this? https://i.imgur.com/L5DWehd.png `Shadow Word
What ability is this? https://i.imgur.com/cjnqKID.png `Shadow Wave
What ability is this? https://i.imgur.com/eAwNPER.png `Shadow Walk
What ability is this? https://i.imgur.com/BJRUHS9.png `Shadow Strike
What ability is this? https://i.imgur.com/clAB5hr.png `Shadow Realm
What ability is this? https://i.imgur.com/sz4ZZRf.png `Shadow Poison Release
What ability is this? https://i.imgur.com/hJIHCa8.png `Shadow Poison
What ability is this? https://i.imgur.com/MYC5guQ.png `Shadow Dance
What ability is this? https://i.imgur.com/xxDj7GO.png `Shackleshot
What ability is this? https://i.imgur.com/hHrloCO.png `Shackles
What ability is this? https://i.imgur.com/WkXOAqL.png `Searing Chains
What ability is this? https://i.imgur.com/FhPo2Dv.png `Searing Arrows
What ability is this? https://i.imgur.com/rW8u5w7.png `Scream of Pain
What ability is this? https://i.imgur.com/6TDMoI5.png `Scorched Earth
What ability is this? https://i.imgur.com/m7a1mLv.png `Scan
What ability is this? https://i.imgur.com/32Nw3yf.png `Savage Roar
What ability is this? https://i.imgur.com/O0qMgc4.png `Sanity's Eclipse
What ability is this? https://i.imgur.com/IYziArw.png `Sand Storm
What ability is this? (removed from game) https://i.imgur.com/0KZLUdJ.png `Sadist
What ability is this? https://i.imgur.com/rxOnMrk.png `Sacrifice
What ability is this? https://i.imgur.com/vdHhJKt.png `Sacred Arrow
What ability is this? https://i.imgur.com/b5IrqkC.png `Rupture
What ability is this? https://i.imgur.com/K3byHPk.png `Rot
What ability is this? https://i.imgur.com/oxFjjYm.png `Rolling Thunder
What ability is this? https://i.imgur.com/MuP6YSf.png `Rolling Boulder
What ability is this? https://i.imgur.com/kOlC0Gh.png `Rocket Flare
What ability is this? https://i.imgur.com/mPqYOHu.png `Rocket Barrage
What ability is this? https://i.imgur.com/fpfaumU.png `Rip Tide
What ability is this? https://i.imgur.com/0V4SLoS.png `Revert Form
What ability is this? https://i.imgur.com/yRs0y6A.png `Reverse Polarity
What ability is this? https://i.imgur.com/VjCT9b4.png `Return Chakram
What ability is this? https://i.imgur.com/tns2s3U.png `Return Chakram 2
What ability is this? https://i.imgur.com/4dvJS0l.png `Return Astral Spirit
What ability is this? https://i.imgur.com/3btLBuJ.png `Return (Kunkka)`Return`Kunkka Return
What ability is this? https://i.imgur.com/xeBkssG.png `Return (Centaur Warrunner)`Return`Centaur Warrunner Return
What ability is this? https://i.imgur.com/ConFPLo.png `Requiem of Souls
What ability is this? https://i.imgur.com/IRoJC7B.png `Repel
What ability is this? https://i.imgur.com/BI7aszU.png `Remote Mines
What ability is this? https://i.imgur.com/4eYikmd.png `Relocate
What ability is this? https://i.imgur.com/yUqvGUh.png `Release Illuminate
What ability is this? https://i.imgur.com/ZZjgKYx.png `Release
What ability is this? https://i.imgur.com/o8E0WDX.png `Regeneration Rune Buff
What ability is this? https://i.imgur.com/c21JoFw.png `Refraction
What ability is this? https://i.imgur.com/abMUerv.png `Reflection
What ability is this? https://i.imgur.com/jSNNS25.png `Recall
What ability is this? https://i.imgur.com/NxFVXPI.png `Rearm
What ability is this? https://i.imgur.com/NTLxr4U.png `Reaper's Scythe
What ability is this? https://i.imgur.com/nlhSakJ.png `Reality Rift
What ability is this? https://i.imgur.com/gEv4Iju.png `Reality
What ability is this? https://i.imgur.com/YsqyC0Z.png `Reactive Armor
What ability is this? https://i.imgur.com/EvFFPLW.png `Ravage
What ability is this? https://i.imgur.com/0IQn6ug.png `Rage
What ability is this? https://i.imgur.com/5QwTEzF.png `Rabid
What ability is this? https://i.imgur.com/XPmJF9W.png `Quill Spray
What ability is this? https://i.imgur.com/QdDe9x2.png `Quas
What ability is this? https://i.imgur.com/WuZE3vs.png `Purifying Flames
What ability is this? https://i.imgur.com/rOCPbQl.png `Purification
What ability is this? https://i.imgur.com/gLmeW4r.png `Pulse Nova
What ability is this? https://i.imgur.com/pUtDfHr.png `Psionic Trap
What ability is this? https://i.imgur.com/KiTaZOv.png `Psi Blades
What ability is this? https://i.imgur.com/qFHbDVZ.png `Proximity Mines
What ability is this? https://i.imgur.com/ErBuVzh.png `Primal Spring or Spring Early`Spring Early`Primal Spring
What ability is this? https://i.imgur.com/E96ZJl3.png `Primal Split
What ability is this? https://i.imgur.com/Lh00eYb.png `Primal Roar
What ability is this? https://i.imgur.com/bdTjwio.png `Press the Attack
What ability is this? https://i.imgur.com/dq6rID6.png `Presence of the Dark Lord
What ability is this? https://i.imgur.com/TmqS4Mw.png `Precision Aura
What ability is this? https://i.imgur.com/JJLAsfU.png `Powershot
What ability is this? https://i.imgur.com/BMod0Q4.png `Power Cogs
What ability is this? https://i.imgur.com/wjAqjQd.png `Pounce
What ability is this? https://i.imgur.com/2aGSLwK.png `Poof
What ability is this? https://i.imgur.com/MrZR4Fk.png `Poison Touch
What ability is this? https://i.imgur.com/554WWRF.png `Poison Sting
What ability is this? https://i.imgur.com/qFeXDTy.png `Poison Nova
What ability is this? https://i.imgur.com/RZWyifn.png `Poison Attack
What ability is this? https://i.imgur.com/6l371xX.png `Plasma Field
What ability is this? https://i.imgur.com/abLppb6.png `Plague Ward
What ability is this? https://i.imgur.com/Ihhvhdx.png `Pit of Malice
What ability is this? https://i.imgur.com/rmTHla6.png `Pinpoint Detonate
What ability is this? https://i.imgur.com/OUY2hf6.png `Phase Shift
What ability is this? https://i.imgur.com/cgh0ET9.png `Phantom Strike
What ability is this? https://i.imgur.com/aB11d3Q.png `Phantom Rush
What ability is this? https://i.imgur.com/wE3EDdL.png `Phantasm
What ability is this? https://i.imgur.com/Kz1H0SU.png `Penitence
What ability is this? https://i.imgur.com/Oz5sL6j.png `Paralyzing Cask
What ability is this? https://i.imgur.com/PLtRXis.png `Overwhelming Odds
What ability is this? https://i.imgur.com/XGjIZ3l.png `Overpower
What ability is this? https://i.imgur.com/k8bdwOs.png `Overload
What ability is this? https://i.imgur.com/8BbsIDw.png `Overgrowth
What ability is this? https://i.imgur.com/QZAYWnX.png `Overcharge
What ability is this? https://i.imgur.com/CbvZ4aS.png `Open Wounds
What ability is this? https://i.imgur.com/uANCZtn.png `Omnislash
What ability is this? https://i.imgur.com/yRL9eLs.png `Null Field
What ability is this? https://i.imgur.com/ostwLWM.png `Nightmare
What ability is this? https://i.imgur.com/4U35Jam.png `Nightmare End
What ability is this? https://i.imgur.com/oxgU2Xi.png `Nethertoxin
What ability is this? https://i.imgur.com/5zbDixI.png `Nether Ward
What ability is this? https://i.imgur.com/KccdX1Q.png `Nether Swap
What ability is this? https://i.imgur.com/NwrHpIF.png `Nether Strike
What ability is this? https://i.imgur.com/Pl1SRle.png `Nether Blast
What ability is this? https://i.imgur.com/mVnb12R.png `Necromastery
What ability is this? https://i.imgur.com/liSYifa.png `Nature's Guise
What ability is this? https://i.imgur.com/Hjrd8PX.png `Nature's Call
What ability is this? https://i.imgur.com/MUv3Y5M.png `Nature's Attendants
What ability is this? https://i.imgur.com/PTEQsbS.png `Natural Order
What ability is this? https://i.imgur.com/2DPvUVw.png `Mystic Snake
What ability is this? https://i.imgur.com/XDRJYGH.png `Mystic Flare
What ability is this? https://i.imgur.com/lG97CeO.png `Multicast
What ability is this? https://i.imgur.com/scUQ1Vx.png `Mortal Strike
What ability is this? https://i.imgur.com/kkMA22I.png `Morph Replicate
What ability is this? https://i.imgur.com/gyK74ha.png `Morph
What ability is this? https://i.imgur.com/C738s6Y.png `Moonlight Shadow
What ability is this? https://i.imgur.com/hfi7sEq.png `Moon Glaive
What ability is this? https://i.imgur.com/FfRtCL3.png `Moment of Courage
What ability is this? https://i.imgur.com/1DZxBnu.png `Mist Coil
What ability is this? https://i.imgur.com/lrKdZ5N.png `Mischief
What ability is this? https://i.imgur.com/6clz8xq.png `Mirror Image
What ability is this? https://i.imgur.com/1gH6M4C.png `Minefield Sign
What ability is this? https://i.imgur.com/z2bBrD5.png `Midnight Pulse
What ability is this? https://i.imgur.com/fRIFhEC.png `Metamorphosis
What ability is this? https://i.imgur.com/oWv1tOU.png `Meld
What ability is this? https://i.imgur.com/QpPRO0v.png `Meat Hook
What ability is this? https://i.imgur.com/WQHV5aU.png `Mass Serpent Ward
What ability is this? https://i.imgur.com/YXdi6ph.png `Marksmanship
What ability is this? https://i.imgur.com/4u98BUr.png `March of the Machines
What ability is this? https://i.imgur.com/BLCIY3v.png `Mana Void
What ability is this? https://i.imgur.com/vjN869j.png `Mana Shield
What ability is this? https://i.imgur.com/0oH1UdI.png `Mana Leak
What ability is this? https://i.imgur.com/OmnckhS.png `Mana Drain
What ability is this? https://i.imgur.com/CNmLmD7.png `Mana Burn
What ability is this? https://i.imgur.com/nYi9uXc.png `Mana Break
What ability is this? https://i.imgur.com/1eyhHyf.png `Malefice
What ability is this? https://i.imgur.com/yOQ9gBX.png `Maledict
What ability is this? https://i.imgur.com/h7sHNto.png `Magnetize
What ability is this? https://i.imgur.com/e9ipnhZ.png `Magnetic Field
What ability is this? https://i.imgur.com/sHFZoQg.png `Magic Missile
What ability is this? https://i.imgur.com/N479xl0.png `Macropyre
What ability is this? https://i.imgur.com/lUURpuL.png `Lunar Blessing
What ability is this? https://i.imgur.com/OqgDu6w.png `Lucent Beam
What ability is this? https://i.imgur.com/dTYWEsH.png `Living Armor
What ability is this? https://i.imgur.com/KMIx6dZ.png `Liquid Fire
What ability is this? https://i.imgur.com/jWSjV8d.png `Lightning Storm
What ability is this? https://i.imgur.com/prsRq3G.png `Lightning Bolt
What ability is this? https://i.imgur.com/0JwHDOJ.png `Light Strike Array
What ability is this? https://i.imgur.com/da4HT66.png `Life Drain
What ability is this? https://i.imgur.com/kEjJIc9.png `Life Break
What ability is this? https://i.imgur.com/IGGcNmg.png `Leech Seed
What ability is this? https://i.imgur.com/k24O7Lp.png `Leap
What ability is this? https://i.imgur.com/c9ECJIK.png `Launch Snowball
What ability is this? https://i.imgur.com/21bnvvZ.png `Launch Fire Spirit
What ability is this? https://i.imgur.com/gc4UKOO.png `Last Word
What ability is this? https://i.imgur.com/OxRnBaf.png `Laser
What ability is this? https://i.imgur.com/u3NhKrE.png `Laguna Blade
What ability is this? https://i.imgur.com/q1TZSqX.png `Kraken Shell
What ability is this? https://i.imgur.com/83gBZsI.png `Kinetic Field
What ability is this? https://i.imgur.com/cKpGa4P.png `Juxtapose
What ability is this? https://i.imgur.com/yVl4z4E.png `Jingu Mastery
What ability is this? https://i.imgur.com/8c1qrax.png `Jinada
What ability is this? https://i.imgur.com/mjKcsMe.png `Ion Shell
What ability is this? https://i.imgur.com/H8rCDYl.png `Invulnerability
What ability is this? https://i.imgur.com/aNzmXok.png `Invoke
What ability is this? https://i.imgur.com/7dch06I.png `Invisibility Rune Buff
What ability is this? https://i.imgur.com/EMV0rgv.png `Invisibility (Lycan Wolf)`Invisibility`Lycan Wolf Invisibility
What ability is this? https://i.imgur.com/xN1TWZh.png `Insatiable Hunger
What ability is this? https://i.imgur.com/jScsAtR.png `Inner Vitality
What ability is this? https://i.imgur.com/4AoRrcX.png `Inner Beast
What ability is this? https://i.imgur.com/uj1D3OE.png `Infest
What ability is this? https://i.imgur.com/BYqGIYR.png `Infernal Blade
What ability is this? https://i.imgur.com/PNH7ytm.png `Incapacitating Bite
What ability is this? https://i.imgur.com/uMDJlnC.png `Impetus
What ability is this? https://i.imgur.com/MpTqSAJ.png `Impale
What ability is this? https://i.imgur.com/LUgtrxC.png `Illusory Orb
What ability is this? https://i.imgur.com/8Am3jdR.png `Illusion
What ability is this? https://i.imgur.com/Ydf1cL2.png `Illuminate
What ability is this? https://i.imgur.com/Md4o99D.png `Illuminate Spirit Form
What ability is this? https://i.imgur.com/8rgi5BB.png `Ignite
What ability is this? https://i.imgur.com/3KNjwWX.png `Ice Wall
What ability is this? https://i.imgur.com/7wfVN6a.png `Ice Vortex
What ability is this? https://i.imgur.com/oN6udOB.png `Ice Shards
What ability is this? https://i.imgur.com/Of1XI1S.png `Ice Path
What ability is this? https://i.imgur.com/5lkslhd.png `Ice Blast
What ability is this? https://i.imgur.com/glqk3lR.png `Ice Armor
What ability is this? https://i.imgur.com/rSeefMY.png `Icarus Dive
What ability is this? https://i.imgur.com/DKKCqFM.png `Hybrid
What ability is this? https://i.imgur.com/xivXaHo.png `Hunter in the Night
What ability is this? https://i.imgur.com/wEuOQZi.png `Howl
What ability is this? https://i.imgur.com/mIV1Ekb.png `Hookshot
What ability is this? https://i.imgur.com/rVxgLdC.png `Hoof Stomp
What ability is this? https://i.imgur.com/Eb7OAcF.png `Homing Missile
What ability is this? https://i.imgur.com/TreGmRD.png `Holy Persuasion
What ability is this? https://i.imgur.com/jC4mbqh.png `Hex
What ability is this? https://i.imgur.com/zMYgF7b.png `Hex
What ability is this? https://i.imgur.com/zaHBNSk.png `Heat Seeking Missile
What ability is this? https://i.imgur.com/SJ0ae9Z.png `Heartstopper Aura
What ability is this? https://i.imgur.com/4wL249w.png `Heartpiercer
What ability is this? https://i.imgur.com/PtqRyJI.png `Healing Ward
What ability is this? https://i.imgur.com/WmUl5tV.png `Headshot
What ability is this? https://i.imgur.com/qwGGVkQ.png `Haunt
What ability is this? https://i.imgur.com/2dq65g2.png `Haste Rune Buff
What ability is this? https://i.imgur.com/gfXcapt.png `Hand of God
What ability is this? https://i.imgur.com/N2Lg1Rx.png `Gust
What ability is this? https://i.imgur.com/TzUXaEc.png `Gush
What ability is this? https://i.imgur.com/KaFcFdb.png `Grow
What ability is this? https://i.imgur.com/KfQBVXv.png `Guardian Angel
What ability is this? https://i.imgur.com/J97FNqg.png `Greevil's Greed
What ability is this? https://i.imgur.com/wdq0Eyi.png `Greater Bash
What ability is this? https://i.imgur.com/2oeoTNi.png `Great Cleave
What ability is this? https://i.imgur.com/CSH4JMc.png `Gravekeeper's Cloak
What ability is this? https://i.imgur.com/ykXIKkP.png `Grave Chill
What ability is this? https://i.imgur.com/K3WXdiC.png `God's Strength
What ability is this? https://i.imgur.com/Y9BWxhg.png `Global Silence
What ability is this? https://i.imgur.com/fPFw0GN.png `Glimpse
What ability is this? https://i.imgur.com/uvXNeIA.png `Glaives of Wisdom
What ability is this? https://i.imgur.com/bFGzR0w.png `Ghostship
What ability is this? https://i.imgur.com/MRarlQa.png `Ghost Walk
What ability is this? https://i.imgur.com/umvWi1p.png `Geostrike
What ability is this? https://i.imgur.com/PKn9vBX.png `Geomagnetic Grip
What ability is this? https://i.imgur.com/RY773PQ.png `Germinate Attack
What ability is this? https://i.imgur.com/tdEXOZF.png `Fury Swipes
What ability is this? https://i.imgur.com/saKNr3L.png `Frozen Sigil
What ability is this? https://i.imgur.com/QpZ8h6A.png `Frostbite
What ability is this? https://i.imgur.com/CCGIDJA.png `Frost Blast
What ability is this? https://i.imgur.com/dNUPxAC.png `Frost Arrows
What ability is this? https://i.imgur.com/17LrPpY.png `Freezing Field
What ability is this? https://i.imgur.com/J8iyl8n.png `Fortune's End
What ability is this? https://i.imgur.com/0OBAWeC.png `Forge Spirit
What ability is this? https://i.imgur.com/QLDBMhR.png `Focused Detonate
What ability is this? https://i.imgur.com/2jZ4Uf1.png `Focus Fire
What ability is this? https://i.imgur.com/de1Solo.png `Flux
What ability is this? https://i.imgur.com/Vlyw1iV.png `Flesh Heap
What ability is this? https://i.imgur.com/374iVtN.png `Flesh Golem
What ability is this? https://i.imgur.com/5VYGT2S.png `Flaming Lasso
What ability is this? https://i.imgur.com/ea88e97.png `Flamebreak
What ability is this? https://i.imgur.com/Thg1NJH.png `Flame Guard
What ability is this? https://i.imgur.com/jIKqZdq.png `Flak Cannon
What ability is this? https://i.imgur.com/UaS2DTP.png `Fissure
What ability is this? https://i.imgur.com/JvHLhJm.png `Firestorm
What ability is this? https://i.imgur.com/c6WTDXX.png `Firefly
What ability is this? https://i.imgur.com/13Bw6be.png `Fireblast
What ability is this? https://i.imgur.com/AvqgsGb.png `Fire Spirits
What ability is this? https://i.imgur.com/ctHMsSI.png `Fire Remnant
What ability is this? https://i.imgur.com/ZVli0sA.png `Finger of Death
What ability is this? https://i.imgur.com/70nnwxH.png `Fiery Soul
What ability is this? https://i.imgur.com/5mUEdUT.png `Fiend's Grip
What ability is this? https://i.imgur.com/4HDygyR.png `Fervor
What ability is this? https://i.imgur.com/AmuABVC.png `Feral Impulse
What ability is this? https://i.imgur.com/eHl6UcP.png `Feast
What ability is this? https://i.imgur.com/T5jvTy0.png `Fate's Edict
What ability is this? https://i.imgur.com/fH04Odc.png `Fatal Bonds
What ability is this? https://i.imgur.com/qX892tV.png `False Promise
What ability is this? https://i.imgur.com/bt17jdZ.png `Fade Bolt
What ability is this? https://i.imgur.com/xa2sa4j.png `Eyes in the Forest
What ability is this? https://i.imgur.com/Wd8SgdN.png `Eye of the Storm
What ability is this? https://i.imgur.com/RcPV68i.png `Exort
What ability is this? https://i.imgur.com/4m1JoUa.png `Exorcism
What ability is this? https://i.imgur.com/Du6xnAD.png `Ethereal Jaunt
What ability is this? https://i.imgur.com/kjv3jEv.png `Ether Shock
What ability is this? https://i.imgur.com/ZimJssI.png `Essence Shift
What ability is this? https://i.imgur.com/ZgXRY7u.png `Essence Aura
What ability is this? https://i.imgur.com/YihLcCx.png `Epicenter
What ability is this? https://i.imgur.com/Gtu2ZHW.png `Ensnare
What ability is this? https://i.imgur.com/8VQoMYP.png `Enrage
What ability is this? https://i.imgur.com/qiVf4dc.png `Enfeeble
What ability is this? https://i.imgur.com/I2NvxE1.png `Enchant Totem
What ability is this? https://i.imgur.com/K4WMuoN.png `Enchant Remnant
What ability is this? https://i.imgur.com/IAa1bDZ.png `Enchant
What ability is this? https://i.imgur.com/2amS4fv.png `Empowering Haste
What ability is this? https://i.imgur.com/9QvvTjl.png `Empower
What ability is this? https://i.imgur.com/sJn6T9V.png `EMP
What ability is this? https://i.imgur.com/zvT3GY2.png `Electric Vortex
What ability is this? https://i.imgur.com/Of6sQ1j.png `Elder Dragon Form
What ability is this? https://i.imgur.com/rIMd2yM.png `Eject
What ability is this? https://i.imgur.com/9pCeilj.png `Eclipse
What ability is this? https://i.imgur.com/hqA5et0.png `Echo Stomp
What ability is this? https://i.imgur.com/rJjuneV.png `Echo Slam
What ability is this? https://i.imgur.com/pQV2JLt.png `Earthshock
What ability is this? https://i.imgur.com/nF0ug5I.png `Earthbind
What ability is this? https://i.imgur.com/aMyPP53.png `Earth Splitter
What ability is this? https://i.imgur.com/kypYgE5.png `Earth Spike
What ability is this? https://i.imgur.com/nntd958.png `Duel
What ability is this? https://i.imgur.com/Gl5CSub.png `Dual Breath
What ability is this? https://i.imgur.com/70eq5fC.png `Drunken Haze
What ability is this? https://i.imgur.com/SwcSLVf.png `Drunken Brawler
What ability is this? https://i.imgur.com/XluWp0x.png `Druid Form
What ability is this? https://i.imgur.com/A7WrsBa.png `Dream Coil
What ability is this? https://i.imgur.com/g95764l.png `Dragon Tail
What ability is this? https://i.imgur.com/U3qXiOR.png `Dragon Slave
What ability is this? https://i.imgur.com/kauXrGn.png `Dragon Blood
What ability is this? https://i.imgur.com/A4AbG8P.png `Double Edge
What ability is this? https://i.imgur.com/1yQcHcq.png `Double Damage Rune Buff
What ability is this? https://i.imgur.com/m6s6gTu.png `Doppelganger
What ability is this? https://i.imgur.com/YcRnO2n.png `Doom
What ability is this? https://i.imgur.com/6aKdh41.png `Divided We Stand
What ability is this? https://i.imgur.com/6ECNZuq.png `Disruption
What ability is this? https://i.imgur.com/CqPbsOx.png `Dispersion
What ability is this? https://i.imgur.com/LVueVCR.png `Dismember
What ability is this? https://i.imgur.com/yv5tV1m.png `Diabolic Edict
What ability is this? https://i.imgur.com/nWUFTHd.png `Devour
What ability is this? https://i.imgur.com/2ELk5Uw.png `Desolate
What ability is this? https://i.imgur.com/Cl9msdJ.png `Demonic Purge
What ability is this? https://i.imgur.com/tIqUdL0.png `Demonic Conversion
What ability is this? https://i.imgur.com/FcRJMtq.png `Degen Aura
What ability is this? https://i.imgur.com/0PiJYmp.png `Decrepify
What ability is this? https://i.imgur.com/hNY3HEK.png `Decay
What ability is this? https://i.imgur.com/lIxrQpo.png `Death Ward
What ability is this? https://i.imgur.com/PYIy1bG.png `Death Pulse
What ability is this? https://i.imgur.com/o2qAqkE.png `Death Pact
What ability is this? https://i.imgur.com/fp5mx0z.png `Deafening Blast
What ability is this? https://i.imgur.com/LTF0Xz5.png `Darkness
What ability is this? https://i.imgur.com/xGKIRUa.png `Dark Rift
What ability is this? https://i.imgur.com/c3m8RuR.png `Dark Pact
What ability is this? https://i.imgur.com/bvSHdHA.png `Cursed Crown
What ability is this? https://i.imgur.com/g42pVks.png `Curse of Avernus
What ability is this? https://i.imgur.com/QPkeKvK.png `Culling Blade
What ability is this? https://i.imgur.com/e8NkVgl.png `Crystal Nova
What ability is this? https://i.imgur.com/PtOHt8w.png `Crypt Swarm
What ability is this? https://i.imgur.com/0JGCqSu.png `Crippling Fear
What ability is this? https://i.imgur.com/0JGCqSu.png `Cripple (Lycan Wolf)`Cripple`Lycan Wolf Cripple
What ability is this? (removed from game) https://i.imgur.com/bggKiqU.png `Craggy Exterior
What ability is this? https://i.imgur.com/qdL0SAD.png `Coup de Grace
What ability is this? https://i.imgur.com/acHDcF3.png `Counter Helix
What ability is this? https://i.imgur.com/Bq9M2l0.png `Corrosive Skin
What ability is this? https://i.imgur.com/EGAhadB.png `Control
What ability is this? https://i.imgur.com/YgcBkkl.png `Consume
What ability is this? https://i.imgur.com/gqWai5F.png `Conjure Image
What ability is this? https://i.imgur.com/n84AW2C.png `Concussive Shot
What ability is this? https://i.imgur.com/coR1Ijo.png `Cold Snap
What ability is this? https://i.imgur.com/PKZ2cTp.png `Cold Feet
What ability is this? https://i.imgur.com/BVme5AJ.png `Cold Embrace
What ability is this? https://i.imgur.com/QCv66xU.png `Cloak and Dagger
What ability is this? https://i.imgur.com/5oS4p6Z.png `Chronosphere
What ability is this? https://i.imgur.com/4iLwPJz.png `Chilling Touch
What ability is this? https://i.imgur.com/DJzNANM.png `Chemical Rage
What ability is this? https://i.imgur.com/bbr7ItL.png `Charge of Darkness
What ability is this? https://i.imgur.com/JjFlCOL.png `Chaotic Offering
What ability is this? https://i.imgur.com/0A8C7wM.png `Chaos Strike
What ability is this? https://i.imgur.com/WWaTmPl.png `Chaos Meteor
What ability is this? https://i.imgur.com/VEY99cQ.png `Chaos Bolt
What ability is this? https://i.imgur.com/QgBVcd3.png `Chakram
What ability is this? https://i.imgur.com/57j9kYQ.png `Chakram 2
What ability is this? https://i.imgur.com/CBFlvIh.png `Chakra Magic
What ability is this? https://i.imgur.com/1HgJ1bn.png `Chain Frost
What ability is this? https://i.imgur.com/H0eo0j3.png `Caustic Finale
What ability is this? (removed from game) https://i.imgur.com/GaGZzRK.png `Call of the Wild: Hawk`Call of the Wild Hawk
What ability is this? https://i.imgur.com/3BaLwBw.png `Call of the Wild
What ability is this? https://i.imgur.com/nLpMXtX.png `Call Down
What ability is this? https://i.imgur.com/4m16Vjf.png `Burrowstrike
What ability is this? https://i.imgur.com/CD69R7d.png `Burrow
What ability is this? https://i.imgur.com/q4z8X5Z.png `Burning Spear
What ability is this? https://i.imgur.com/1LmjfoY.png `Bristleback
What ability is this? https://i.imgur.com/GAsnKv8.png `Breathe Fire
What ability is this? https://i.imgur.com/FQG66ec.png `Break Tether
What ability is this? https://i.imgur.com/IlLBqSY.png `Bramble Maze
What ability is this? https://i.imgur.com/AstYM5V.png `Brain Sap
What ability is this? https://i.imgur.com/6sXFGUA.png `Boundless Strike
What ability is this? https://i.imgur.com/2SsNPbU.png `Boulder Smash
What ability is this? https://i.imgur.com/g8vFvN6.png `Borrowed Time
What ability is this? https://i.imgur.com/D2Dw9AZ.png `Blur
What ability is this? https://i.imgur.com/DIto2eL.png `Bloodrage
What ability is this? https://i.imgur.com/kZPtBCV.png `Bloodlust
What ability is this? https://i.imgur.com/XzPyTGf.png `Blood Rite
What ability is this? https://i.imgur.com/Q2YMrCY.png `Blink Strike
What ability is this? https://i.imgur.com/XhcNvQ3.png `Blink (Queen of Pain)`Blink`Queen of Pain Blink
What ability is this? https://i.imgur.com/j6tX9kQ.png `Blink (Anti-Mage)`Blink`Anti-Mage Blink
What ability is this? https://i.imgur.com/0MYQSVF.png `Blinding Light
What ability is this? https://i.imgur.com/8dmL0Pl.png `Blast off!`Blast off
What ability is this? https://i.imgur.com/7Oh7bjv.png `Blade Fury
What ability is this? https://i.imgur.com/4Mmu9H3.png `Blade Dance
What ability is this? https://i.imgur.com/YXTVCNd.png `Black Hole
What ability is this? https://i.imgur.com/RrTFspK.png `Berserker's Rage
What ability is this? https://i.imgur.com/CcspPBT.png `Berserker's Rage
What ability is this? https://i.imgur.com/5oihonX.png `Berserker's Call
What ability is this? https://i.imgur.com/najZXYr.png `Berserker's Blood
What ability is this? https://i.imgur.com/KcsKin0.png `Bedlam
What ability is this? https://i.imgur.com/dqFyNJi.png `Battle Trance
What ability is this? https://i.imgur.com/FZML9xq.png `Battle Hunger
What ability is this? https://i.imgur.com/nis6xUN.png `Battle Cry
What ability is this? https://i.imgur.com/yqbbjpH.png `Battery Assault
What ability is this? https://i.imgur.com/io4j5UF.png `Bash
What ability is this? https://i.imgur.com/dM5FqQi.png `Ball Lightning
What ability is this? https://i.imgur.com/Iu2brGN.png `Avalanche
What ability is this? https://i.imgur.com/V1roWyX.png `Attribute Shift (Strength Gain)`Attribute Shift Strength Gain
What ability is this? https://i.imgur.com/0LSBunY.png `Attribute Shift (Agility Gain)`Attribute Shift Agility Gain
What ability is this? https://i.imgur.com/LiPZwBR.png `Atrophy Aura
What ability is this? https://i.imgur.com/b7etRIZ.png `Astral Spirit
What ability is this? https://i.imgur.com/GPDCOGw.png `Astral Imprisonment
What ability is this? https://i.imgur.com/xYcEKmf.png `Assimilate
What ability is this? https://i.imgur.com/ZzhZsww.png `Assassinate
What ability is this? https://i.imgur.com/UJgFRGo.png `Arctic Burn
What ability is this? https://i.imgur.com/BaU4IDv.png `Arcane Rune Buff
What ability is this? https://i.imgur.com/OFYHQxv.png `Arcane Orb
What ability is this? https://i.imgur.com/hMWSfgA.png `Arcane Curse
What ability is this? https://i.imgur.com/mMRslEc.png `Arcane Bolt
What ability is this? https://i.imgur.com/EwdOxlc.png `Arcane Aura
What ability is this? https://i.imgur.com/eaEmrUO.png `Arc Lightning
What ability is this? https://i.imgur.com/RHRZzj6.png `Aphotic Shield
What ability is this? https://i.imgur.com/QXReBGF.png `Ancient Seal
What ability is this? https://i.imgur.com/2lOdxvB.png `Anchor Smash
What ability is this? https://i.imgur.com/kFEb70C.png `Amplify Damage
What ability is this? https://i.imgur.com/niWP4HN.png `Alacrity
What ability is this? https://i.imgur.com/KAxGqvz.png `Aftershock
What ability is this? https://i.imgur.com/yYv2ken.png `Adaptive Strike (Strength)`Adaptive Strike Strength
What ability is this? https://i.imgur.com/FZEYYYQ.png `Adaptive Strike (Agility)`Adaptive Strike Agility
What ability is this? https://i.imgur.com/TAqbyTQ.png `Activate Fire Remnant
What ability is this? https://i.imgur.com/BUqQWji.png `Acid Spray
-188
View File
@@ -1,188 +0,0 @@
What item is this? https://i.imgur.com/1DjDKYH.png `Yasha
What item is this? https://i.imgur.com/1aGrpuH.png `Wraith Band
What item is this? https://i.imgur.com/VwXSKr8.png `Wind Lace
What item is this? https://i.imgur.com/HgJHyfk.png `Void Stone
What item is this? https://i.imgur.com/y8uW7V1.png `Vladimir's Offering
What item is this? https://i.imgur.com/EuIAVjM.png `Vitality Booster
What item is this? https://i.imgur.com/3KCIBDO.png `Veil of Discord
What item is this? https://i.imgur.com/cLS2cZD.png `Vanguard
What item is this? https://i.imgur.com/JbKeDUc.png `Urn of Shadows
What item is this? https://i.imgur.com/lkyWMvx.png `Ultimate Orb
What item is this? https://i.imgur.com/FGLZkBq.png `Tranquil Boots (Inactive)`Tranquil Boots Inactive
What item is this? https://i.imgur.com/dvk1MCM.png `Tranquil Boots (Active)`Tranquil Boots Active
What item is this? https://i.imgur.com/KcW7edy.png `Town Portal Scroll`TP Scroll
What item is this? https://i.imgur.com/77S9U75.png `Tome of Knowledge
What item is this? https://i.imgur.com/WaKy1Pj.png `Tango
What item is this? https://i.imgur.com/NkYZgr5.png `Tango (Shared)`Tango Shared`Shared Tango
What item is this? https://i.imgur.com/cYj1mr0.png `Talisman of Evasion
What item is this? https://i.imgur.com/DHILKex.png `Stout Shield
What item is this? https://i.imgur.com/JUbevw4.png `Staff of Wizardry
What item is this? https://i.imgur.com/kiXFzsz.png `Spirit Vessel
What item is this? https://i.imgur.com/KFBNr2l.png `Soul Ring
What item is this? https://i.imgur.com/kC1KzdQ.png `Soul Booster
What item is this? https://i.imgur.com/AWxOnXw.png `Solar Crest
What item is this? https://i.imgur.com/1eXRfIg.png `Smoke of Deceit
What item is this? https://i.imgur.com/DKAS0kV.png `Slippers of Agility
What item is this? https://i.imgur.com/pNmAlAl.png `Skull Basher
What item is this? https://i.imgur.com/QNFFGLh.png `Silver Edge
What item is this? https://i.imgur.com/VNmfB2T.png `Shiva's Guard
What item is this? https://i.imgur.com/GsgTiUw.png `Shadow Blade
What item is this? https://i.imgur.com/TNrZvq8.png `Shadow Amulet
What item is this? https://i.imgur.com/Vu3eNfk.png `Sentry Ward
What item is this? https://i.imgur.com/HuUqvIf.png `Scythe of Vyse
What item is this? https://i.imgur.com/3dx0MLj.png `Satanic
What item is this? https://i.imgur.com/fcLcZyE.png `Sange
What item is this? https://i.imgur.com/9eAs1dm.png `Sange and Yasha
What item is this? https://i.imgur.com/aQ4ZSIi.png `Sage's Mask
What item is this? https://i.imgur.com/dLhmL5W.png `Sacred Relic
What item is this? https://i.imgur.com/atVJCS9.png `Rod of Atos
What item is this? https://i.imgur.com/vAEHlcZ.png `Robe of the Magi
What item is this? https://i.imgur.com/kMypuTg.png `Ring of Regen
What item is this? https://i.imgur.com/6YGgKGH.png `Ring of Protection
What item is this? https://i.imgur.com/E2tg3xE.png `Ring of Health
What item is this? https://i.imgur.com/unPvR9W.png `Ring of Basilius (Inactive)`Ring of Basilius Inactive
What item is this? https://i.imgur.com/7SvVqRK.png `Ring of Basilius (Active)`Ring of Basilius Active
What item is this? https://i.imgur.com/JYBiGVx.png `Ring of Aquila (Inactive)`Ring of Aquila Inactive
What item is this? https://i.imgur.com/bdVdrp3.png `Ring of Aquila (Active)`Ring of Aquila Active
What item is this? https://i.imgur.com/0Li6O8N.png `Refresher Orb
What item is this? https://i.imgur.com/vg0KnIq.png `Recipe Scroll`Recipe
What item is this? https://i.imgur.com/KFNb72Y.png `Reaver
What item is this? https://i.imgur.com/m2UA7a8.png `Radiance (Inactive)`Radiance Inactive
What item is this? https://i.imgur.com/W2F2SUd.png `Radiance (Active)`Radiance Active
What item is this? https://i.imgur.com/H5nRu05.png `Quelling Blade
What item is this? https://i.imgur.com/LVpcOnf.png `Quarterstaff
What item is this? https://i.imgur.com/haXACou.png `Power Treads
What item is this? https://i.imgur.com/nXn8KhO.png `Power Treads (Strength)`Power Treads Strength
What item is this? https://i.imgur.com/11IYBpl.png `Power Treads (Intelligence)`Power Treads Intelligence
What item is this? https://i.imgur.com/XYIEKMi.png `Power Treads (Agility)`Power Treads Agility
What item is this? (removed from game) https://i.imgur.com/hze6GhN.png `Poor Man's Shield`PMS
What item is this? https://i.imgur.com/Pote0DA.png `Point Booster
What item is this? https://i.imgur.com/m0U0nlL.png `Platemail
What item is this? https://i.imgur.com/jvUNnd1.png `Pipe of Insight
What item is this? https://i.imgur.com/wHK4Bio.png `Phase Boots
What item is this? https://i.imgur.com/M9fRKkB.png `Perseverance
What item is this? https://i.imgur.com/HrKThmN.png `Orchid Malevolence
What item is this? https://i.imgur.com/cznlrpv.png `Orb of Venom
What item is this? https://i.imgur.com/fhAoSOC.png `Ogre Club
What item is this? https://i.imgur.com/NhzX71W.png `Octarine Core
What item is this? https://i.imgur.com/h5Gu48S.png `Observer Ward
What item is this? https://i.imgur.com/1dXNyaw.png `Observer and Sentry Wards
What item is this? https://i.imgur.com/XGkphzs.png `Observer and Sentry Wards
What item is this? https://i.imgur.com/cJ3dEwh.png `Oblivion Staff
What item is this? https://i.imgur.com/3bVcC3l.png `Nullifier
What item is this? https://i.imgur.com/oentyyC.png `Null Talisman
What item is this? https://i.imgur.com/1GWm8o6.png `Necronomicon 3
What item is this? https://i.imgur.com/gjofxoF.png `Necronomicon 2
What item is this? https://i.imgur.com/WwEfwWi.png `Necronomicon 1
What item is this? https://i.imgur.com/u9psKe0.png `Mystic Staff
What item is this? https://i.imgur.com/my0MEtj.png `Morbid Mask
What item is this? https://i.imgur.com/YsrEZDL.png `Moon Shard
What item is this? https://i.imgur.com/Re67cR1.png `Monkey King Bar`MKB
What item is this? https://i.imgur.com/lNuWIWP.png `Mjollnir
What item is this? https://i.imgur.com/DHqdudG.png `Mithril Hammer
What item is this? https://i.imgur.com/7eicbbk.png `Meteor Hammer
What item is this? https://i.imgur.com/6aJkxtG.png `Mekansm
What item is this? https://i.imgur.com/DEZQLXo.png `Medallion of Courage
What item is this? https://i.imgur.com/KL6jON7.png `Mask of Madness
What item is this? https://i.imgur.com/U9f6T8O.png `Mantle of Intelligence
What item is this? https://i.imgur.com/8nT3p2e.png `Manta Style
What item is this? https://i.imgur.com/5hZUcQQ.png `Magic Wand
What item is this? https://i.imgur.com/unPnQTi.png `Magic Stick
What item is this? https://i.imgur.com/6Bj6Eiz.png `Maelstrom
What item is this? https://i.imgur.com/TmZVLYT.png `Lotus Orb
What item is this? https://i.imgur.com/oLgqHaR.png `Linken's Sphere
What item is this? https://i.imgur.com/RM3sSIz.png `Kaya
What item is this? https://i.imgur.com/ZidkeLE.png `Javelin
What item is this? (removed from game) https://i.imgur.com/vXFECRh.png `Iron Talon
What item is this? https://i.imgur.com/Fk2AqPs.png `Iron Branch
What item is this? https://i.imgur.com/3hwvY3U.png `Infused Raindrop
What item is this? https://i.imgur.com/LkabC8q.png `Hyperstone
What item is this? https://i.imgur.com/M6EbZFP.png `Hurricane Pike
What item is this? https://i.imgur.com/vDCqBu6.png `Hood of Defiance
What item is this? https://i.imgur.com/AG7Ii56.png `Helm of the Dominator
What item is this? https://i.imgur.com/MQ6pxQd.png `Helm of Iron Will
What item is this? https://i.imgur.com/NrEdGsn.png `Heaven's Halberd
What item is this? https://i.imgur.com/MudmQ6R.png `Heart of Tarrasque
What item is this? https://i.imgur.com/w6qAscb.png `Healing Salve
What item is this? https://i.imgur.com/FlVerQT.png `Headdress
What item is this? https://i.imgur.com/430kekp.png `Hand of Midas
What item is this? https://i.imgur.com/LSVesWo.png `Guardian Greaves
What item is this? https://i.imgur.com/CqtxuPE.png `Gloves of Haste
What item is this? https://i.imgur.com/lpyKT7r.png `Glimmer Cape
What item is this? https://i.imgur.com/rr3OllO.png `Ghost Scepter
What item is this? https://i.imgur.com/sxkItEZ.png `Gem of True Sight
What item is this? https://i.imgur.com/oKhuvbG.png `Gauntlets of Strength
What item is this? https://i.imgur.com/C6vL76q.png `Force Staff
What item is this? https://i.imgur.com/NbeuShM.png `Flying Courier (Radiant)`Flying Courier Radiant
What item is this? https://i.imgur.com/0nQt3on.png `Flying Courier (Dire)`Flying Courier Dire
What item is this? https://i.imgur.com/6uNaTtD.png `Faerie Fire
What item is this? https://i.imgur.com/C6Ch4mV.png `Eye of Skadi
What item is this? https://i.imgur.com/7Sp3W66.png `Eul's Scepter of Divinity
What item is this? https://i.imgur.com/HikbhwT.png `Ethereal Blade
What item is this? https://i.imgur.com/UhHdUrz.png `Energy Booster
What item is this? https://i.imgur.com/ycsTV7m.png `Enchanted Mango
What item is this? https://i.imgur.com/Nl1u43a.png `Echo Sabre
What item is this? https://i.imgur.com/BqXyEWi.png `Eaglesong
What item is this? https://i.imgur.com/dVDWnth.png `Dust of Appearance
What item is this? https://i.imgur.com/hF3mjT1.png `Drum of Endurance
What item is this? https://i.imgur.com/NUeLPgT.png `Dragon Lance
What item is this? https://i.imgur.com/VFdPRUD.png `Divine Rapier
What item is this? https://i.imgur.com/HLr6SQb.png `Diffusal Blade 2
What item is this? https://i.imgur.com/UJ52OSo.png `Diffusal Blade 1
What item is this? https://i.imgur.com/O4E1IR5.png `Desolator
What item is this? https://i.imgur.com/ASNIrpm.png `Demon Edge
What item is this? https://i.imgur.com/qM0dRmS.png `Dagon 5
What item is this? https://i.imgur.com/ZoIjUQF.png `Dagon 4
What item is this? https://i.imgur.com/9g6jw0X.png `Dagon 3
What item is this? https://i.imgur.com/V6kBeNh.png `Dagon 2
What item is this? https://i.imgur.com/h4dZ64X.png `Dagon 1
What item is this? https://i.imgur.com/E9OmVm3.png `Daedelus
What item is this? https://i.imgur.com/IL1hH1m.png `Crystalys
What item is this? https://i.imgur.com/9VtRTBl.png `Crimson Guard
What item is this? https://i.imgur.com/eOSLFWz.png `Cloak
What item is this? https://i.imgur.com/Fmnkr53.png `Claymore
What item is this? https://i.imgur.com/paO69Se.png `Clarity
What item is this? https://i.imgur.com/mGZEMpC.png `Circlet
What item is this? https://i.imgur.com/MIDqGCz.png `Cheese
What item is this? https://i.imgur.com/dAe8dFK.png `Chainmail
What item is this? https://i.imgur.com/cpjr5Ez.png `Butterfly
What item is this? https://i.imgur.com/226lkTR.png `Buckler
What item is this? https://i.imgur.com/xw7yLKw.png `Broadsword
What item is this? https://i.imgur.com/JpqHPSA.png `Bracer
What item is this? https://i.imgur.com/KLGzvMb.png `Bottle (Small)`Bottle Small
What item is this? https://i.imgur.com/kWErZRY.png `Bottle (Regeneration)`Bottle Regeneration
What item is this? https://i.imgur.com/B4AJKcj.png `Bottle (Medium)`Bottle Medium
What item is this? https://i.imgur.com/RGlRQJe.png `Bottle (Invisibility)`Bottle Invisibility
What item is this? https://i.imgur.com/Tqg4c3O.png `Bottle (Illusion)`Bottle Illusion
What item is this? https://i.imgur.com/z2OZqwa.png `Bottle (Haste)`Bottle Haste
What item is this? https://i.imgur.com/iYzaR71.png `Bottle (Full)`Bottle Full
What item is this? https://i.imgur.com/Hm7z9Xn.png `Bottle (Empty)`Bottle Empty
What item is this? https://i.imgur.com/cmeeK2C.png `Bottle (Double Damage)`Bottle Double Damage
What item is this? https://i.imgur.com/rUKqmWD.png `Bottle (Bounty)`Bottle Bounty
What item is this? https://i.imgur.com/FBRqnb9.png `Bottle (Arcane)`Bottle Arcane
What item is this? https://i.imgur.com/4EIKWON.png `Boots of Travel 2
What item is this? https://i.imgur.com/7MQvg5g.png `Boots of Travel 1
What item is this? https://i.imgur.com/dDdmPAV.png `Boots of Speed
What item is this? https://i.imgur.com/EdJKpKH.png `Bloodthorn
What item is this? https://i.imgur.com/HDu0rAD.png `Bloodstone
What item is this? https://i.imgur.com/kW9IHvM.png `Blink Dagger
What item is this? https://i.imgur.com/DmlQ31Y.png `Blight Stone
What item is this? https://i.imgur.com/8X9936w.png `Blades of Attack
What item is this? https://i.imgur.com/Ov7Vjle.png `Blade of Alacrity
What item is this? https://i.imgur.com/uk7Z8tt.png `Blade Mail
What item is this? https://i.imgur.com/OzcxrY5.png `Black King Bar`BKB
What item is this? https://i.imgur.com/3u7l2pR.png `Belf of Strength
What item is this? https://i.imgur.com/f8opJQc.png `Battle Fury
What item is this? https://i.imgur.com/2XowFK1.png `Band of Elvenskin
What item is this? https://i.imgur.com/ibmZmvS.png `Banana
What item is this? https://i.imgur.com/GvtjXIF.png `Assault Cuirass
What item is this? https://i.imgur.com/owoQWNV.png `Armlet of Mordiggian (Inactive)`Armlet of Mordiggian
What item is this? https://i.imgur.com/vvn8qPb.png `Armlet of Mordiggian (Active)`Armlet of Mordiggian
What item is this? https://i.imgur.com/xemeapR.png `Arcane Boots
What item is this? https://i.imgur.com/VtNBM6g.png `Animal Courier (Radiant)`Courier Radiant`Animal Courier Radiant
What item is this? https://i.imgur.com/lzdpgK0.png `Animal Courier (Dire)`Courier Dire`Animal Courier Dire
What item is this? https://i.imgur.com/5eeAXJC.png `Aghanim's Scepter
What item is this? https://i.imgur.com/ZjhX5T8.png `Aether Lens
What item is this? https://i.imgur.com/ks3ysLe.png `Aeon Disk
What item is this? https://i.imgur.com/5dfDXym.png `Aegis of the Immortal
What item is this? https://i.imgur.com/CEkN0FS.png `Abyssal Blade
-118
View File
@@ -1,118 +0,0 @@
What is the element symbol of "Hydrogen"?`H
What is the element symbol of "Helium"?`He
What is the element symbol of "Lithium"?`Li
What is the element symbol of "Berylium"?`Be
What is the element symbol of "Boron"?`B
What is the element symbol of "Carbon"?`C
What is the element symbol of "Nitrogen"?`N
What is the element symbol of "Oxygen"?`O
What is the element symbol of "Fluorine"?`F
What is the element symbol of "Neon"?`Ne
What is the element symbol of "Sodium"?`Na
What is the element symbol of "Magnesium"?`Mg
What is the element symbol of "Aluminum"?`Al
What is the element symbol of "Silicon"?`Si
What is the element symbol of "Phosphorus"?`P
What is the element symbol of "Sulfur"?`S
What is the element symbol of "Chlorine"?`Cl
What is the element symbol of "Argon"?`Ar
What is the element symbol of "Potassium"?`K
What is the element symbol of "Calcium"?`Ca
What is the element symbol of "Scandium"?`Sc
What is the element symbol of "Titanium"?`Ti
What is the element symbol of "Vanadium"?`V
What is the element symbol of "Chromium"?`Cr
What is the element symbol of "Manganese"?`Mn
What is the element symbol of "Iron"?`Fe
What is the element symbol of "Cobalt"?`Co
What is the element symbol of "Nickel"?`Ni
What is the element symbol of "Copper"?`Cu
What is the element symbol of "Zinc"?`Zn
What is the element symbol of "Gallium"?`Ga
What is the element symbol of "Germanium"?`Ge
What is the element symbol of "Arsenic"?`As
What is the element symbol of "Selenium"?`Se
What is the element symbol of "Bromine"?`Br
What is the element symbol of "Krypton"?`Kr
What is the element symbol of "Rubidium"?`Rb
What is the element symbol of "Strontium"?`Sr
What is the element symbol of "Yttrium"?`Y
What is the element symbol of "Zirconium"?`Zr
What is the element symbol of "Niobium"?`Nb
What is the element symbol of "Molybdenum"?`Mo
What is the element symbol of "Technetium"?`Tc
What is the element symbol of "Ruthenium"?`Ru
What is the element symbol of "Rhodium"?`Rh
What is the element symbol of "Palladium"?`Pd
What is the element symbol of "Silver"?`Ag
What is the element symbol of "Cadmium"?`Cd
What is the element symbol of "Indium"?`In
What is the element symbol of "Tin"?`Sn
What is the element symbol of "Antimony"?`Sb
What is the element symbol of "Tellurium"?`Te
What is the element symbol of "Iodine"?`I
What is the element symbol of "Xenon"?`Xe
What is the element symbol of "Cesium"?`Cs
What is the element symbol of "Barium"?`Ba
What is the element symbol of "Hafnium"?`Hf
What is the element symbol of "Tantalum"?`Ta
What is the element symbol of "Tungsten"?`W
What is the element symbol of "Rhenium"?`Re
What is the element symbol of "Osmium"?`Os
What is the element symbol of "Iridium"?`Ir
What is the element symbol of "Platinum"?`Pt
What is the element symbol of "Gold"?`Au
What is the element symbol of "Mercury"?`Hg
What is the element symbol of "Thallium"?`Tl
What is the element symbol of "Lead"?`Pb
What is the element symbol of "Bismuth"?`Bi
What is the element symbol of "Polonium"?`Po
What is the element symbol of "Astatine"?`At
What is the element symbol of "Radon"?`Rn
What is the element symbol of "Francium"?`Fr
What is the element symbol of "Radium"?`Ra
What is the element symbol of "Rutherfordium"?`Rf
What is the element symbol of "Dubnium"?`Db
What is the element symbol of "Seaborgium"?`Sg
What is the element symbol of "Bohrium"?`Bh
What is the element symbol of "Hassium"?`Hs
What is the element symbol of "Meitnerium"?`Mt
What is the element symbol of "Darmstadtium"?`Ds
What is the element symbol of "Roentgnium"?`Rg
What is the element symbol of "Copernicium"?`Cn
What is the element symbol of "Nihonium"?`Nh
What is the element symbol of "Flerovium"?`Fl
What is the element symbol of "Moscovium"?`Mc
What is the element symbol of "Livermorium"?`Lv
What is the element symbol of "Tennessine"?`Ts
What is the element symbol of "Oganesson"?`Og
What is the element symbol of "Lanthanum"?`La
What is the element symbol of "Cerium"?`Ce
What is the element symbol of "Praseodymium"?`Pr
What is the element symbol of "Neodymium"?`Nd
What is the element symbol of "Promethium"?`Pm
What is the element symbol of "Samarium"?`Sm
What is the element symbol of "Europium"?`Eu
What is the element symbol of "Gadolinium"?`Gd
What is the element symbol of "Terbium"?`Tb
What is the element symbol of "Dysprosium"?`Dy
What is the element symbol of "Holmium"?`Ho
What is the element symbol of "Erbium"?`Er
What is the element symbol of "Thulium"?`Tm
What is the element symbol of "Ytterbium"?`Yb
What is the element symbol of "Lutetium"?`Lu
What is the element symbol of "Actinium"?`Ac
What is the element symbol of "Thorium"?`Th
What is the element symbol of "Protactinium"?`Pa
What is the element symbol of "Uranium"?`U
What is the element symbol of "Neptunium"?`Np
What is the element symbol of "Plutonium"?`Pu
What is the element symbol of "Americium"?`Am
What is the element symbol of "Curium"?`Cm
What is the element symbol of "Berkelium"?`Bk
What is the element symbol of "Califormium"?`Cf
What is the element symbol of "Einsteinium"?`Es
What is the element symbol of "Fermium"?`Fm
What is the element symbol of "Mendelevium"?`Md
What is the element symbol of "Nobelium"?`No
What is the element symbol of "Lawrencium"?`Lr
-678
View File
@@ -1,678 +0,0 @@
Name the actor who played the leading role in "The Good, the Bad, and the Ugly"?`Clint Eastwood
Who took dictation from Perry Mason?`Della Street
Where are Rocket J. Squirel and Bullwinkle Moose from?`Frostbite falls
Charles Boyer inspired a cartoon skunk. Who?`Pepé Le Pew`Pepe le Pew
What job did Sting have before he was a rock star?`Teacher
Who hosted the 1997 Grammy Awards?`Ellen DeGeneres
Who portrayed Han Solo in "Star Wars"?`Harrison Ford
What was John Wayne's real name?`Marion Morrison
Who sang 'That's Alright Mama'?`Elvis Presley
What song by Don McLean talks about the day Buddy Holly died?`American Pie
Who played George Costanza on 'Seinfeld'?`Jason Alexander
What was the name of the restaurant the TV series "Happy Days"?`Arnold's`Arnolds
Who played Charlie in Charlies Angels?`John Forsythe
Who sang 'Beat It'?`Michael Jackson
Who invented the synthesiser ?`Bob Moog
What was Don Rickles' nickname?`Mr. Warmth`mr warmth
Besides the Stones, which group had the longest touring career until the founder's death in 1995?`The Grateful Dead
Who killed Kenny?`They
In 1987, who released her second album 'Solitude Standing'?`Suzanne Vega
The eldest sister in the TV Series Charmed, is played by who?`Shannon Doherty
Who is Snoopy's arch enemy?`The Red Baron
Who directed the classic thriller 'The Birds'?`Alfred Hitchcock
Where does Yogi Bear Live?`Jellystone Park
In the film 'American Hot Wax', who did Jay Leno play?`Mookie
Which comic strip was banned from "Stars and Stripes"?`Beetle Bailey
In the 'Nightmare On Elm Street' films, who played Freddy Krueger?`Robert Englund
Who collaborated with John Lennon on 'Whatever Gets You Through The Night'?`Elton John
Where did Clark Kent attend college?`Metropolis University
What is the address of The Munsters?`1313 Mockingbird Lane
For which ad campaign was the line 'I can't believe I ate the whole thing' used?`Alka Seltzer
Tinky-Winky, Dipsy, Laa Laa, and Po are known as what?`The Teletubbies`Teletubbies
What famous animal character called "Skull Island" home?`King Kong
How many flats are in the key of B flat major?`Two`2
When danger appeared, Quick Draw McGraw became which super hero?`El KaBong
An alien creature in a funny hat has opposed both Bugs Bunny and Daffy Duck. Where is he from?`Mars
This was the first fully synchronized sound cartoon?`Steamboat Willie
What film starred Helen Hunt, Cary Elwes and Bill Paxton?`Twister
In the TV series 'The Fall Guy', who did Lee Majors play?`Colt Seavers
Tess Trueheart married which plainclothes detective?`Dick tracy
Who is Scooby Doo's nephew?`Scrappy Doo
What hardcore rock group sings, 'Blind' and 'Clown'?`Korn
What city do Batman and Robin patrol?`Gotham City
What did Dorothy's house land on in 'The Wizard Of Oz'?`The Wicked Witch of the West`wicked witch of the west
Who is the lead singer of the Rolling Stones?`Mick Jagger
Who is Gordon Sumner better known as?`Sting
Who played Clyde to Faye Dunaway's Bonnie?`Warren Beatty
Name the band - songs include "Light My Fire, Love Her Madly"?`The Doors
Hanna Barbera rose to fame by creating what duo for MGM?`Tom and Jerry
Who's first release was 'Talking Heads 77'?`Psycho Killer
Who is Kermit D Frog's girlfriend?`Miss Piggy
After who was Deana Carter named?`Dean Martin
What is Tina Turner's real name?`Anne Mae Bullock
His films include?` Spartacus, The Vikings, and Ulysses.?`Kirk Douglas
What comic strip character is Beetle Bailey's sister?`Lois
What is Blondie's maiden name?`Oop
Who released a chart-busting album in 1976 which featured 'The Lido Shuffle'?`Boz Scaggs
What was Lucy's maiden name on 'I Love Lucy'?`McGillicuddy
What was Wilma Flintstone's maiden names?`Slaghoople
What was Betty Rubble's maiden name (The Flintstones)?`Mcbricker
What was the name of Ashley Wilkes' plantation in "Gone With the Wind"?`Twelve Oaks
Who says, "Th-th-th-that's all folks!"?`Porky pig
In what did someone squish her hands to make the sound of E.T. walking?`Jelly
Who played Steve Erkel in 'Family Matters'?`Jaleel White
What is the name of the film in which Steven Segal's character dies?`Executive Decision
Who wrote the opera 'The Giant'?`Sergei Prokofiev
Who wrote the oprea 'La Traviata'?`Guiseppe Verdi
Band: Elvis Costello and the ___________ ?`Attractions
What country singer/songwriter (and sometimes actor) is known as "the country outlaw"?`Willie Nelson
This movie starring Marlon Brando won the best picture award in 1972.?`The Godfather
_____ in the name of love?`Stop
In what city does Fat Albert live?`Philadelphia
Who is Tippi Hedren's daughter?`Melanie Griffith
In which opera does Leporello entertain a vengeful jilted lover?`Don Giovanni
Name Li'l Abner's favorite Indian drink?`Kickapoo joy juice
Which of Paul Simon's musical characters was told to hop on the bus?`Gus
Who said 'you'd be surprised how much it costs to look this cheap'?`Dolly Parton
Name the band: songs include "Heart of Glass, The Tide is High"?`Blondie
Who played Dr. Frankenfurter in the pop-culture film 'The Rocky Horror Picture Show?`Tim Curry
What is the drummer's name in 'The Muppet Show'?`Animal
In the TV series 'Seinfeld', who does Michael Richards play?`Kramer
What is a Hurdy-Gurdy?`Fiddle
Name the band: songs include "Forgiven Not Forgotten, Runaway"?`The Coors
Which actor said, "Love means never having to say you're sorry"?`Ryan O'Neil
This was the sequel to "The Empire Strikes Back"?`Return of the Jedi
The Hard Rock Cafe is named after a song by what band?`The Doors
In the TV series 'Seinfeld', who plays Kramer?`Michael Richards
This film starring Richard Beymer and Natalie Wood won the best picture Oscar for 1961?`West Side Story
What is the name of the Family Circus's dog?`Barf
Formerly with Spencer Davis, he went on to form Traffic with Dave Mason. He is?`Steve Winwood
In the Gene Pitney how many hours was it from Tulsa?`24
What is tattooed on Glen Campbell's arm?`Dagger
Fat Albert and friends was created by ______ ?`Bill Cosby
Who sings and plays the theme song for the TV show 'Frasier'?`Kelsey Grammer
Who played Matt Helm in the movies?`Dean Martin
In which London recording studios did The Beatles record the majority of their work?`Abbey Road
Who is married to Eddie Van Halen?`Valerie Bertanelli
Who married Mutt Lange?`Shania Twain
At the end of "Planet of the Apes" what protruded from the rocks?`Statue of Liberty
Turn, Side and Why does it always rain on me are all songs from what UK band?`Travis
What was the Oscar-winning theme song from "Breakfast at Tiffany's"?`Moon River
John Travolta, Samuel Jackson, Uma Thurman starred in which 1994 Quentin Tarantino film?`Pulp Fiction
What was Keanu Reeves' computer world alias in 'The Matrix'?`Neo
Who plays the character of the only escapee from Alcatraz in the movie "The Rock"?`Sean Connery
Nick Nolte and Eddie Murphy star in this 1982 film?`48 Hours
What is the name of the whale that swallowed Pinocchio?`Monstro
Who played Dr. Kildare?`Richard Chamberlain
An Andy Panda cartoon gave birth to a famous, cantankerous bird. Name him?`Woody woodpecker
Film Title: The Last Days of _________. (a city)?`Pompeii
Which 1960's group sang a song inspired by 'Alice In Wonderland'?`The Jefferson Airplane
Who produced 'Sgt Pepper's Lonely Hearts Club Band'?`George Martin
Famous Phrase: Who knows The ______?`Shadow
What was the name of Speed Racer's car?`The Mach Five
'White Room' was a hit off which Eric Clapton album?`Cream
Mickey Mouse is known as what in Italy?`Topolino
An adventurous penguin named Tennessee Tuxedo had a sidekick named _______?`Chumley
In 1962 Chubby Checker had a hit with a pop song and novelty dance that remains famous today. What was that dance?`The Twist
What is Kenny G's real surname?`Gorelick
In the film 'The Day Of The Jackal', who played the Jackal?`Edward Fox
Which character sang, "When you wish upon a star..." in Disney's "Pinocchio"?`Jiminy Cricket
Name the apartments the Jetson's live in?`The Skypad Apartments
Kelsey Grammer sings and plays the theme song for which TV show?`Frasier
As what is Merle Haggard also known as?`Okie from Muskogee
Alvin & Simon's brother was ________?`Theo
In the film 'Pretty Woman', for who was Goldie Hawn the body double?`Julia Roberts
Who did Pat Sajak play on the soapie 'Days Of Our Lives'?`Kevin Hathaway
Film Title: An Officer and a _________?`Gentleman
What film marked James Cagney's return to the screen after 20 years?`Ragtime
Name the town that Fred, Wilma, Barney, and Betty lived in?`Bedrock
What term is used for the speed at which a piece of music is played?`Tempo
Who played the lead in the movie "The Mask"?`Jim Carrey
Who sang 'Mull of Kintyre'?`Wings
What film did John Wayne win his only Oscar for?`True Grit
Porky Pig had a girlfriend named ________?`Petunia
Who sang the song "Pretty Woman"?`Roy Orbison
This female artist enjoyed sucess on both popular and country & western stations with such tunes as "Let Me Be There" and "Have You Never Been Mellow"?`Olivia Newton-John`olivia newton john
Who played the first James Bond?`Sean Connery
Who was the original voice of Mickey Mouse?`Walt disney
Where did George of the Jungle live?`Imgwee Gwee Valley
What is Dennis the Menace's last name?`Mitchell
The film "Crouching Tiger, Hidden Dragon" takes place in which dynasty?`Ching
Who is lead guitarist for Guns 'n Roses?`Slash
Who was the only songwriter to win the Eurovision Song Contest twice?`Johnny Logan
The song "Matchmaker, Matchmaker" came from which musical play?`Fiddler On The Roof
Which 1980's Pink Floyd album was made into a film that starred Bob Geldof, and featured the artwork of cartoonist Gerald Scarfe?`The Wall
What was used for blood in the film 'Psycho'?`Chocolate syrup
Who played Hopalong Cassidy?`William Boyd
A graphical representation of the guitar fingerboard, used to teach someone to play a guitar without actually learning how to read musical notes?`Tablature
What famous singer was known to give automobiles to complete strangers?`Elvis Presley
Who played the title role in 'Mad Max'?`Mel Gibson
What came out of Milton's head?`Steam
Benny and Cecil were at odds with whom?`John
Who sang 'Bad Case Of Loving You'?`Robert Palmer
Where do Rocky and Bullwinkle play football?`Wossamotta U
Who was the frontman of Nirvana?`Kurt Cobain
In 1975 Jack Nicholson won the best actor Oscar for his role in this film.?`One Flew Over the Cuckoo's Nest`one flew over the cuckoos nest
Name the band: songs include "Get Down & Get With It, Mama We're All Crazy Now"?`Slade
Who recorded the 1969 hit "Space Oddity"?`David Bowie
Who directed the film 'Ordinary People'?`Robert Redford
Who played the title role in the 1978 version of 'Superman'?`Christopher Reeve
What was Marilyn Monroe's given name at birth?`Norma Jean Mortenson
Who began his professional career with Black Sabbath?`Ozzy Osbourne
Who was the sexy star of Barberella?`Jane Fonda
Actor: __________ Savalas?`Telly
What is the official birthplace of country music?`Bristol
Who wrote the song 'Do They Know It's Christmas' with Midge Ure?`Bob Geldof
What instrument does Woody Allen play?`Clarinet
Term meaning 'to gradually decrease in volume'?`Decrescendo
He wrote the operas "The Magic Flute" and "The Marriage of Figaro"?`Wolfgang Amadeus Mozart
In 'La Traviata', who sings 'Sempre Libera'?`Violetta
What do the initials B.B. stand for in B.B. King's name?`Blues Boy
Name the musical film named after a state?`Oklahoma
Which magician did Lothar assist?`Mandrake
On what T.V. show could Tom Terrific be found?`Captain Kangaroo
What was Ben Stiller's character called in 'Mystery Men'?`Mr. Furious`mr furious
What is the name of Yogi Bear's best freind?`Boo Boo
Who sang 'Rescue Me'?`Fontella Bass
What was Betty Grable's nickname?`The Legs
Name the band: songs include "Psycho Killer, Road To Nowhere"?`Talking Heads
Name Alley Oop's girl friend?`Oola
French impressionist Claude _______?`Debussy
In the TV sitcom 'Married With Children', what is the dog's name?`Buck
Who was the first voice of Mickey Mouse?`Walt Disney
Where does young Anakin Skywalker come from?`Tatooine
Who was Dick Dastardley's pet?`Muttley
What actress has received the most Oscar nominations?`Katherine Hepburn
Who sang 'In The Air Tonight'?`Phil Collins
Which of Beethoven's symphonies was the legendary "Incomplete"?`The 9th Symphony`9th`9
Name the band: songs include "Let's Stick Together, The Price of Love"?`Bryan Ferry
What is the name given to the type of West Indian music made famous by artists such as Bob Marley and Peter Tosh?`Reggae
In the film 'American Hot Wax', who played the 'Mookie'?`Jay Leno
A set of graduated steel bars set in a frame and hit with a hammer, used in the orchestra?`Glockenspiel
What did George Harrison discover on the Witwatersrand?`Gold
For whom did Colonel Tom Parker act as manager?`Elvis Presley
Tess Trueheart married which plainclothes detective?`Dick Tracy
What is the name of Pierce Brosnan's first James Bond film?`Goldeneye
Who did the voices of Bugs Bunny, Sylvester and Tweety Pie?`Mel Blanc
What does the term 'DJ' mean?`Disc Jockey
What is Vanilla Ice's real name?`Robert van Winkle
Before Olive Oyl met Popeye she was engaged to someone. Who was he?`Ham Gravy
Name the dog in the Yankee Doodle cartoons?`Chopper
How many strings are there on a bass guitar?`Four`4
Who is Sally Brown's sweet baboo?`Linus
Who wrote the opera 'norma'?`Vincenzo Bellini
What is Reginald Dwight known as?`Elton John
She starred in the 1952 film, "Niagara"?`Marilyn Monroe
Who does the voice for Yoda in the Star Wars films?`Frank Oz
Who is stationed at Camp Swampy in the comic strips?`Beetle Bailey
Who starred in the film 'The Man With Two Brains'?`Steve Martin
Which planet was the "Planet of the Apes"?`Earth
What was Eric Clapton's nickname?`Slowhand
What two words are normally at the end of most movies?`The End
What was the name given to the popular genre of rock that arose in the Pacific Northwest (Seattle) in the early 1990s?`Grunge
This was the Beatle's first film?`A Hard Day's Night`a hard days night
What do the initials of the band NIN stand for?`Nine Inch Nails
Which Beatle wrote The Octopus's song?`Ringo Starr
Who wrote the opera 'Tosca'?`Giacomo Puccini
Who was always trying to get rent from Andy Capp?`Percy
Which band included rock greats Roy Orbison, Tom Petty, George Harrison, and Bob Dylan?`The Travelling Wilburys
What movie starred Nicholas Cage and John Travolta, one as a police officer, the other as a villain?`Face Off
Who was the oldest member of The Beatles?`Ringo Starr
What is Smokey Stover's job?`Fireman
About which family are the Godfather films?`Corleone
What is the name of Duddley Do-Right's horse?`Horse
The two rival gangs in "West Side Story" were the Sharks and the _________.?`Jets
What is the title of the 1996 sequel to "Terms of Endearment"?`Morning Star
Who recorded 'A Boy Named Sue'?`Johnny Cash
What was the name of George of the Jungle's pet elephant?`Shep
What kind of dog is Scooby Doo?`Great dane
Who was Barney Rubble's best friend?`Fred Flintstone
Who did a version of 'One Bourbon, One Scotch, One Beer' on his 1977 debut album?`George Thorogood
This 1974 film started a run of nostalgia culminating in the TV series "Happy Days"?`American Graffiti
From what platform does the 'Chattanooga Choo Choo' leave Pennsylvania station?`29
He was the voice of draco the dragon in the movie Dragonheart?`Sean Connery
What album holds the world record for copies sold?`Thriller
What character did Tex Avery first create upon arriving at MGM?`Screwball Squirrel
Who played the president of the U.S in 'Air Force One'?`Harrison Ford
What was the name of Luke's strange little advisor in "The Empire Strikes Back"?`Yoda
Actor: _______ Borgnine?`Ernest
Who was the Hulk's first friend?`Rick Jones
How many semitones are there in an octave?`12
Composer of the Brandenburg Concerti: J.S. ____?`Bach
What TV series from 1970-1974 starred Susan Dey?`Partridge Family
Who sings "Imitation Of Life"?`R.E.M.`rem
Who appeared in 'St. Elmo's Fire', 'The Scarlett Letter' and 'Striptease'?`Demi Moore
What type of plant does Broom Hilda sell?`Venus flytrap
Who played the murder victim in the original version of 'Psycho'?`Janet Leigh
Which was the first 'Indiana Jones' film?`Raiders Of The Lost Ark
Name Donald Duck's girlfriend?`Daisy Duck
Who directed 'The Shining'?`Stanley Kubrick
Who played the 'Wicked Witch of the West' in "The Wizard of Oz"?`Margaret Hamilton
Who drew the comic 'The Maxx'?`Sam Keith
Sung by Robert Palmer, '______ to love'?`Addicted
Who played the Agent james Bond in the 1966 film 'Casino Royale'?`David Niven
This electronic instrument's creator was surnamed Moog, and his models are worth a fortune! Other brands include Roland, Korg, and Casio?`Synthesizer
Who was the director of 'Terminator' and 'Titanic'?`James Cameron
What was Sir Alec Guinness's role in "Star Wars"?`Obi-Wan Kenobi`obiwan kenobi`obi wan kenobi
What is Dennis the Menace's last name?`Mitchell
Who was John Wayne's musical co-star in true grit?`Glen Campbell
She played the lead role in "Coal Miner's Daughter"?`Sissy Spacek
What was painted on Peter Fonda's helmet motorcycle helmet in 'Easy Rider'?`Stars and stripes
Which former Beatle released the hit single "My Sweet Lord"?`George Harrison
What other well known singer shares the same birthday as Elvis Presley (Jan 8)?`David Bowie
The Who's rock musical stars Elton John. It's called ________?`Tommy
Who is Scooby Doo's nephew?`Scrappy doo
In 'The Shining' what was the child's imaginary friend's name (the one who told him things that were going to happen)?`Tony
On 'The Lucy Show', who played Vivian Bagley?`Vivian Vance
An arrangement for five performers is called a__?`Quintet
Who sang 'You Can Call Me Al'?`Paul Simon
Who played the lead in the movie "Erin Brokovich"?`Julia Roberts
What does the Italian term "poco a poco" mean?`Little by little
What actress's real name was Frances Gumm?`Judy Garland
Who played the lead in the movie "The Matrix"?`Keanu Reeves
What did TVs IMF stand for?`Impossible Mission Forces
Who is Donald Duck's uncle?`Scrooge
What is the Pink Panther in the Pink Pather film?`A Diamond
What is the name of the rabbit in the film, "Bambi"?`Thumper
What did Peppermint Patty always call Charlie Brown?`Chuck
Film Title: Fahrenheit ________?`451
Who sang 'Islands In The Stream' with Kenny Rogers?`Dolly Parton
Who play Captian Jean-Luc Picard in Star Trek the Next Generation?`Patrick Stewart
Who wanted 'a lover with a slow hand'?`The Pointer Sisters
What is the destination of the plane at the end of the film "Casablanca"?`Lisbon
R. Kelly sings: 'If I can see it then I can do it, if I just believe it, there's nothing to it'. What's the song title?`I Believe I Can Fly
Whose theme song was Back In The Saddle Again?`Gene Autry
Who portrayed Moses in "The Ten Commandments"?`Charlton Heston
What film starred Rosie O'Donnell, Rita Wilson and Meg Ryan?`Sleepless in Seattle
Richard Strauss' majestic overture "Also Sprach Zarathustra" was the theme music for which Stanley Kubrick film?`2001: A Space Odyessy
This term means to play smoothly?`Legato
How many members are in the 'fairfield four'?`Five`5
What film is generally considered the worst film ever made?`Attack of the Killer Tomatoes
What is a cello's full name?`Violoncello
What song did Aretha Franklin sing in "The Blues Brothers"?`Think
Name the band: songs include "Doctor Doctor, Hold Me Now, Don't Mess With Dr Dream"?`Thompson Twins
Who sang 'All Right Now'?`Free
Country singer Vince ____?`Gill
What is Hawkeye's full name in M.A.S.H.?`Benjamin Franklin Pierce
How many symphonies did Beethoven complete?`Eight`8
What is Peter Parker's secret identity?`Spiderman
Before being married to Pamela Anderson what other famous actress was Tommy Lee married to?`Heather Locklear
Who is the autor of the song 'Blue Suede Shoes'?`Carl Perkins
Who was always trying to get rent from Andy Capp?`Percy
Who is the fastest mouse in all of Mexico?`Speedy Gonzalez
An adventurous penguin named Tennessee Tuxedo had a sidekick named _______?`Chumley
What was Citizen Kane's dying word?`Rosebud
Who is the male lead in the "Naked Gun" movies?`Leslie Nielsen
He directed "The Godfather"?`Francis Ford Coppola
Who is Steveland Morris better known as?`Stevie Wonder
In the 1996 version of "Romeo and Juliet", who played Juliet?`Claire Danes
Who did the music for the 1970's film 'Saturday Night Fever'?`Bee Gees
Who is the only singer to have No. 1 hits in the 50s, 60s, 70s, 80s and 90s in the United Kingdom?`Cliff Richard
Who was Chief Marshall of the Mickey Mouse Club?`Walt Disney
What famous classical composer continued to compose great music after becoming deaf?`Ludwig van Beethoven`Beethoven
His films include: Giant, Written on the Wind, and A Farewell to Arms?`Rock Hudson
What was Kevin Bacon's first big hit?`Footloose
Who co-starred with Julie Andrews in "Mary Poppins"?`Dick Van Dyke
Who is the voice of Darth Vadar?`James Earl Jones
In what year did both Peanuts and Beetle Bailey first appear?`1950
On 'Dragnet', who played officer Bill Gannon?`Harry Morgan
What is Hulk Hogan's real name?`Terry Bollea
Who played Scarlette O'Hara in "Gone With the Wind"?`Vivien Leigh
Casper the Friendly Ghost frolicked with which witch?`Wendy
Rolling Stones first hit was written by what group?`The Beatles
What city is also known as Music City, U.S.A.?`Nashville
Who played 'The Scorpion King' in the recent movie 'The Mummy Returns'?`Dwight Johnson
Name the late actor who played Obi-Wan Kenobi in Star Wars?`Alec Guiness
Who sang 'We've only just begun'?`Carpenters
Tippi Hedren is best known for her lead role in which film?`The Birds
What is the sequel to the film 'Every Which Way But Loose'?`Every Which Way You Can
What actor appeared in all three of these films: Straw Dogs, Midnight Cowboy, and The Graduate?`Dustin Hoffman
In which film did Jay Leno play 'Mookie'?`American Hot Wax
What are the separators on a guitar neck called?`Frets
When not fighting crime, what did Underdog do for a living?`Shoeshine boy
Who were the rivals of the T-Birds in the movie "Grease"?`Scorpions
What type of plant does Broom Hilda sell?`Venus flytrap
What was Eddie Murphy's character name in 'Beverley Hills Cop'?`Axel Foley
Who is stationed at Camp Swampy in the comic strips?`Beetle bailey
Who is Sally Brown's sweet baboo?`Linus van pelt
What's the name of the Mummy in the film "The Mummy"?`Imhotep
Who starred in the film version of 'To Kill A Mockingbird'?`Gregory Peck
Who is married to Valerie Bertanelli?`Eddie Van Halen
What's the name of B.B. King's guitar?`Lucille
In 1968, who released 'Carnival of life' and 'Recital'?`Lee Michaels
What night club did Ricky work at on 'I Love Lucy'?`The Tropicana
Who is Warren Beatty's sister?`Shirley MacLaine
Who was Fred Flinstone's best friend?`Barney Rubble
Who is Robert van Winkle?`Vanilla Ice
What song did Elton John and George Michael sing as a duet?`Don't Let The Sun Go Down On Me`dont let the sun go down on me
Who was the black assistant of Mandrake the Magician?`Lothar
Who was C3PO's sidekick in "Star Wars"?`R2D2
Who played the lead in the movie "Snatch"?`Brad Pitt
What was the first CD pressed in the USA?`Born In The USA
Who directed the movie "Blade Runner"?`Ridley Scott
Who sang 'Any Way You Want Me'?`Elvis Presley
Casper the Friendly Ghost frolicked with which witch?`Wendy
What did Dr. David Banner become when he got angry?`The Incredible Hulk
Who is the lead singer of 'The Doors'?`Jim Morrison
He was known as the "Elephant Man"?`Joseph Merrick
Porky Pig had a girlfriend named _______?`Petunia
Who released the double album 'Goodbye Yellow Brick Road' in 1973?`Elton John
Who played Eddie in the pop-culture film 'The Rocky Horror Picture Show?`Meat Loaf
What did Sheryl Crow do before she became a singer?`Teach
In what film did Whoopi Goldberg make her screen debut?`The Color Purple
"Joy to the World" was a hit in 1971 for what band with three lead vocalists?`Three Dog Night
The theme tune for 'Monty Python's Flying Circus' was written by which composer?`John Philip Sousa
Beethoven's Sixth Symphony shares it's popular name with a method of animal farming. What is it?`Pastoral
What was Keanu Reeves' first big film?`Point Break
What Procol Harem tune was based on the Bach cantata "Sleepers Awake"?`A Whiter Shade of Pale
Which British group holds the record for the album to remain in the US Billboard charts for the longest time?`Pink Floyd
Who played Bobby Ewing in the TV series 'Dallas'?`Patrick Duffy
Who played the mayor of the munchkins in 'The Wizard of Oz'?`Charlie Becker
What is Super Chicken's partners name?`Fred
What song was originally 'Good Morning To You' before the words were changed and it was published in 1935?`Happy Birthday To You
Who sang 'Beauty and the Beast'?`Celine Dion
Who released 'Tuesday Night Music Club' in 1993?`Sheryl Crow
Who was Dr. Zhivago's great love?`Lara
Who 'imagined' a better world?`John Lennon
This is a classic film about a huge gorilla?`King Kong
In 1981, who won song of the year with 'Sailing'?`Christopher Cross
Who directed the Movie 'Psycho' from Robert Bloch?`Alfred Hitchcock
What was the last movie of the late Brandon Lee?`The Crow
Randy Travis said his love was 'deeper than the ______'?`Holler
What is the mother's name in Family Circus?`Thelma
Who had, next to Samuel Jackson, a leading roll in 'Unbreakable'?`Bruce Willis
What was "Rocky's" last name?`Balboa
Who directed Citizen Kane?`Orson Welles
Who recorded the lengthy song "In-A-Gadda-Da-Vida" in 1969?`Iron Butterfly
Hanna-Barbera rose to fame by creating what duo for MGM?`Tom and Jerry
What is the name of the Family Circus's dog?`Barf
Who wrote the Nutcracker Suite?`Tchaikovsky
Who released 'Time, Love and Tenderness' in 1981?`Michael Bolton
When Tweety exclaimed, "I thought I saw a putty tat!", who did he see?`Sylvester
What band recorded the 1978 hit album "Briefcase Full of Blues"?`The Blues Brothers
In this 1968 film the husband of an unsuspecting young wife becomes involved with a witch's coven?`Rosemary's Baby
Name the Disney cartoon in which the character "Belle" appears?`Beauty and the Beast
What kind of eyes did the girl in "Lucy In The Sky With Diamonds" have?`Kaleidoscope
He directed the movie E.T.?`Stephen Spielberg
In which film did Henry Fonda play a fallen priest?`The Fugitive
Who played "Robin" to Val Kilmer's "Batman"?`Christopher O'Donnell
What was Elvis Presley's wife's first name?`Priscilla
Film Title: ______ (a number) Leagues Under the Sea.?`20000`20.000`20,000
In which Verdi opera does Violetta sing 'Sempre Libera'?`La Traviata
Who played in the film 'Ragtime' after 20 years offscreen?`James Cagney
Who played the lead in the movie "Braveheart"?`Mel Gibson
What musical instrument did Jack Benny play?`Violin
What was the average age of United States soldiers in the Vietnam war?`Nineteen`19
In the cartoons who was Hokie Wolf's sidekick?`Ding
Who sang about 'The Boogie Woogie Bugle Boy Of Company B'?`The Andrews Sisters
In 'La Traviata', what does Violetta sing?`Sempre Libera
In which film was Goldie Hawn the body double for Julia Roberts?`Pretty Woman
Name Jerry Garcia's long lived group?`The Grateful Dead
Name the band - songs include "Aqualung, Thick as a Brick"?`Jethro Tull
Who wrote the opera 'The Masked Ball'?`Giuseppe Verdi
Secret Identities: Jim Corrigan?`The spectre`spectre
In the TV series 'The Brady Bunch', what was Cindy's toy doll's name?`Kitty Carryall
Who sang about 'Commitment'?`Leann Rhimes
What character was banned in Finland because he didn't wear pants?`Donald Duck
In 1958, who had a pop music hit with 'Willie and the Hand Jive'?`Johnny Otis
In which Disney movie is the song "So This Is Love"?`Cinderella
How many strings does a harp have?`47`Forty Seven
This band's highly original video for "Whip it," characterized by red flower pot hats was criticized for being both sado-masochistic and racist?`Devo
What is Super Chicken's partners name?`Fred
Who is the main character in 'Touched By An Angel'?`Monica
Michael di Lorenzo was one of the lead dancers on which Michael Jackson music video?`Beat It
What classic rock band sang the song 'Paint It, Black'?`Rolling Stones
What color was Bullitt's car?`Green
How many freckles did Howdy Doody have?`Forty eight`48
Who played the role of Richard Blaine in Casablanca?`Humphrey Bogart
Which comic is drawn by Sam Keith?`The Maxx
Which actor won Oscars twice for 'best male performance' in the '90s?`Tom Hanks
Who sang 'Jet Airliner'?`Steve Miller Band
What is the only X Rated film to have won the best film Oscar?`Midnight Cowboy
What is Dennis the Menace's surname?`Mitchell
Who was the first female to enter the Billboard charts in 1985?`Whitney Houston
In the 70s Hit Captain Scarlet and the Mysterons what is the name of the company Scarlet works for?`Spectrum
What was the name of George of the Jungle's pet elephant?`Shep
Who played 'Johnny Mnemonic'?`Keanu Reeves
What was George of the Jungle always running in to?`A tree`tree
Miss Buckley is secretary to what commanding officer?`General Halftrack
Which actress won the 2002 Academy Award for best actress in a leading role, for her part in the movie, 'Monster's Ball'?`Halle Berry
Savage Garden took 13 nominations and 10 wins at which awards?`ARIA awards
Name the singer - songs include "Me & Bobby McGee, Mercedes Benz"?`Janis Joplin
With which period in music do we associate with composers such as Bach, Handel and Vivaldi?`Baroque Period`Baroque
Which movie is the highest grossing movie of all time?`Titanic
What is the name of the Volkswagen in the film, "The Love Bug"?`Herbie
This term means to play crisply, with the notes separated?`Staccato
Who sang 'Born In The USA'?`Bruce Springsteen
Russian modernist Igor _________?`Stravinsky
Which instruments is used to tune the orchestra?`Oboe
For which cartoon character was Beethoven a favourite composer?`Shroeder
Secret Identities: Boston Brand?`Deadman
Name the band - songs include "Sex & Drugs & Rock & Roll, I Want To Be Straight"?`Ian Drury and The Blockheads
From which station does the 'Chattanooga Choo Choo' leave?`Pennsylvania station`Pennsylvania
In 'Coronation Street', who is Ken and Denise's son?`Daniel
Mel Blanc, the voice of Bugs Bunny, was ironically allergic to what?`Carrots
Which native of Flint, Michigan, once advised us to "drive your Chevrolet through the USA"?`Pat Boone
Name Alley Oop's girl friend?`Oola
Which british group recorded the 1983 hit 'Owner Of A Lonely Heart'?`Yes
Gadzookie has a large, green friend. Who is he?`Godzilla
What was Jethro Tull before donating his name to a British epic rock group?`Agriculturist
Who was the Indian maiden in Johnny Preston's 'Running Bear'?`Little White Dove
How old was Leann Rhimes when she recorded her first album?`Eleven`11
Which brand of guitar is played by Jimmy Page, Slash, and Brian May?`Gibson Les Paul
What was the first cartoon to feature sound?`Steamboat willy
Pancho was whose faithful sidekick?`Cisco Kid
Which character in "Forrest Gump" loved shrimp?`Bubba
Who was Dick Dastardly's pet?`Muttley
The key of A major has ___ sharps?`Three`3
From where was Ricky in 'I Love Lucy'?`Cuba
What is Elton John's real name?`Reginald Dwight
What was Citizen Kane's first name?`Charles
What was the original name of "Little Rascals"?`Our Gang
What is Cape Town's major choir called?`Cape Town Philharmonia Choir
What was the original name of Paul McCartney's fictional church cleaner 'Eleanor Rigby'?`Miss Daisy Hawkins
Word meaning to gradually decrease in volume?`Decrescendo
Who was the first James Bond?`Sean Connery
Name the band - songs include "Monday Monday, California Dreamin"?`The Mamas and the Papas
Girlfriend of Lex Luther II?`Supergirl
Who married Shania Twain?`Robert "Mutt" Lange
Who recorded the 1957 hit "Tammy"?`Debby Reynolds
Who directed the film 'The Birds' from Daphne du Maurier?`Alfred Hitchcock
For which film did Art Carney win best actor Oscar in 1974?`Harry and Tonto
In a 1976 release, who wanted to 'fly like an eagle'?`Steve Miller Band
What film featured a cat named Mr. Bigglesworth?`Austin Powers
This magic word was in the movie, "Mary Poppins".?`Supercalifragilisticexpialidocious
Who was the first singer in Genesis?`Peter Gabriel
Where did George of the Jungle live?`Imgwee gwee valley
Who played the lead in the movie "Mission Impossible"?`Tom Cruise
Darth Vader was the villan in the movie, "____ Wars"?`Star
Vincent Vega appeared in which movie?`Pulp Fiction
Who is the lead singer of limp bizkit?`Fred Durst
Who appeared solo at the Woodstock festival after leaving 'The Lovin' Spoonful'?`John Sebastian
In the TV series 'The Fall Guy', who played Colt Seavers?`Lee Majors
What was the last Beatles album to be released before they broke up in 1970?`Let It Be
Who played Kevin Hathaway on the soapie 'Days Of Our Lives'?`Pat Sajak
Who was born on Krypton?`Superman
What was the name of Ross' pet monkey on 'Friends'?`Marcel
Secret Identities: Wally West?`The Flash`Flash
In "Gone With the Wind", Scarlett regains her wealth by investing in what type of business?`Sawmill
What city's police force did Charlie Chan work with?`Honolulu
Juliette Binoche won an academy award for best supporting role in which film?`English Patient
Who runs Andy Capp's favorite pub?`Jack and Jill
What was the first film directed by Robert Redford?`Ordinary People
What was the first cartoon character called?`Oswald the Rabbit
What composer was working on his 10th symphony at the time of his death?`Ludwig van Beethoven`Beethoven
Popeye's chief adversary has two names, Bluto and ______?`Brutus
What did Hannibal Lecter like to eat with liver?`Fava Beans
Who was 'hooked on a feeling'?`Blue Suede
Who is the elder statesman of 'british blues', and fronted 'The Bluesbreakers'?`John Mayall
What is Cher's maiden name?`Sarkassian
A __________ helps to set and maintain your tempo while playing?`Metronome
Actor __________ Nimoy?`Leonard
Which large tuned orchestral drum is also known as a kettledrum?`Tympani
In late 1957, Buddy Holly's solo release 'Peggy Sue' challenged which song recorded with The Crickets?`Oh Boy
Where does George Jetson work?`Spacely Sprockets
Name the band - songs include "Mystify, Listen Like Thieves, Original Sin"?`INXS
Photographer for Daily Planet?`Jimmy olsen
Band: " _________ And the Bad Seeds"?`Nick Cave
This was the first 3-D film?`Bwana Devil
Bill Justis was a studio musician when he recorded this 'sloppy' instrumental in october 1957?`Raunchy
Ian Gillain is the singer for this legendary band?`Deep Purple
Secret Identities: Jay Garrick?`The flash`Flash
Who shot Bruce Wayne's parents?`Chill
Name the band - songs include "Add It Up, Blister In The Sun, Kiss Off"?`Violet Femmes
Who always tried to kill Krazy Kat?`Captain marvel
Word meaning to play music smoothly?`Legato
Where are Rocket J. Squirel and Bullwinkle Moose from?`Frostbite Falls
Secret Identities: Clark Kent?`Superman
Who starred in the 1952 film 'Niagara'?`Marilyn Monroe
How old was Shirley Temple when she made her last film?`21
Who is Declan Patrick McManus better known as?`Elvis
Where did Mighty Mouse get his superpowers?`Supermarket
Who broke Batman?`Bane
On what LP Cover can we read the words 'Welcome Rolling Stones'?`Sergeant Pepper's Lonely Hearts Club Band
Who starred with John Travolta in the movie "Broken Arrow"?`Christian Slater
Whose films include 'Giant', 'Written On The Wind' and 'A Farewell To Arms'?`Rock Hudson
What is Batman's butler Alfred's last name?`Pennyworth
What is the stage name of Greta Gustafson?`Greta Garbo
Who starred in 'Conan The Barbarian'?`Arnold Schwarzenegger
What is the term used for 'slowly' in music?`Lento
Who wrote Tubular Bells?`Mike Oldfield
Who was a member of 'Crosby, Stills and Nash' and 'The Hollies'?`Graham Nash
Name the band - songs include "Black Night, Smoke On The Water"?`Deep Purple
As who is Terry Bollea known?`Hulk Hogan
To which elemetary school did TV's 'Brady Bunch' go?`Dixie Canyon Elementary
Who wrote the song 'Do They Know It's Christmas' with Bob Geldof?`Midge Ure
Name the European hit, now an animated series about underwater people?`The Snorks
What is the name of Jaleel White's character in the tv series 'Family ties'?`Steve Urkel
What was the name of the motel in the film "Psycho"?`Bates Motel
Who began his career with 'The Yardbirds' and established himself as one of the best rock guitarists of his generation?`Eric Clapton
Who played Louis in 'Interview With The Vampire'?`Brad Pitt
What kind of creature was Chewbacca in "Star Wars"?`Wookiee
She played Lois Lane in the 1978 film version of "Superman"?`Margot Kidder
In which movie did Bruce Willis play the role of Korben Dallas?`The Fifth Element
Secret Identities: Arthur Curry?`Aquaman
Who sings 'Sweet Home Alabama'?`Lynyrd Skynyrd
Benny and Cecil were at odds with whom?`John
The rolling stones first recorded song was?`Come On
Who plays the lead role in The Usual Suspects?`Kevin Spacey
What show/game has characters such as Bulbasaur and Pikachu?`Pokemon
Who always tried to kill Krazy Kat?`Captain Marvel
Who invented the electrical bass?`Leo Fender
What is the frog's name in 'The Muppet Show'?`Kermit D Frog`Kermit
What group's biggest-ever hit was Be My Baby?`The Ronettes
What was The Beatles' biggest hit single?`Hey Jude
Mentor of Titan had two children in the Marvel comics, Thanos and ____?`Ero
Which Australian duo took 13 nominations and 10 wins at the ARIA awards?`Savage Garden
This movie directed by Woody Allen won the best picture Oscar in 1978?`Annie Hall
Which superhero loves peace enough to kill for it?`Peacemaker
What was the relationship between Superman and Supergirl?`Cousins
Who played the 'Universal Soldier'?`Jean-Claude Van Damme
What Marlon Brando film was widely banned?`Last Tango In Paris
What country was the setting for "The King and I"?`Siam`Thailand
What was the name of the hit song released by 'The Romantics' in February 1980?`That's What I Like About You
What was the name of Speed Racer's car?`The mach five
What kind of dog is Scooby Doo?`Great dane
Singing without instrumental back up is called what?`a capella
In which film did Paul Newman and Robert Redford hold hands and jump into a river?`Butch Cassidy and the Sundance Kid
Secret Identities: Cliff Steele?`Robotman
Who played Garth in "Wayne's World"?`Dana Carvey
What was Elvis Presley's twin brother's name?`Garon
The Who had a guiness world record for what?`Loudest Band
What country was the setting for "The Sound of Music"?`Austria
Who discovered gold on the Witwatersrand?`George Harrison
This gypsy swing guitarist nearly had his left hand destroyed by fire as a child?`Django Reinhardt
In the film 'Hackers', how old was 'zero_kool' when he was first arrested?`Eleven`11
The film 'The Wizard Of ______'?`Oz
Barbara Streisand was the female lead in "Hello, Dolly". Who was the male lead?`Walter Matthau
Who sang 'I'm A Believer'?`The Monkees`Monkees
What was the working title for The Beatles' song, 'Yesterday'?`Scrambled Eggs
Who directed "Jurassic Park III"?`Joe Johnston
Who killed Superman?`Doomsday
How many Oscars did Ben Hur win?`Eleven`11
Andre Rieu and the Johann Strauss Orchestra are famous for what musical love piece?`Romeo and Juliet
Who was the Cisco Kid's faithful sidekick?`Pancho
Which singer/songwriter worked in a factory making toilets for airplanes before he recorded 'Aint No Sunshine'?`Bill Withers
How many strings are there on a standard guitar?`Six`6
This actress appeared in "St. Elmo's Fire", "The Scarlet Letter", and "Striptease"?`Demi Moore
What did Dagwood give up to marry Blondie?`A family inheritance`family inheritance`inheritance
Josie and the ________?`Pussycats
In what city does Fat Albert live?`Philadelphia
What is the name of the Indian musical instrument made popular in western rock by The Beatles and Ravi Shankar?`Sitar
Who played Queen Amidala in the latest 'Star Wars' film?`Natalie Portman
Which beatle was the first to release a solo record?`Ringo Starr
Who is Melanie Griffith's mother?`Tippi Hedren
He starred in, "City Lights"?`Charlie Chaplin
What group refused to have their pictures taken while they were not in their makeup?`KISS
What was the name of Han Solo's spaceship in "Star Wars"?`Millennium Falcon
Number of new Supermen after his "death"?`Four`4
Who wrote and preformed the soundtrack for Live and let die?`Paul McCartney and Wings
What song's words were changed and then published in 1935 as 'Happy Birthday To You'?`Good Morning To You
"He's So Fine", "One Fine Day" and "A Love So Fine" where hits for what fine group?`The Chiffons
What is the name of Beetle Bailey's sister?`Lois
Who is the lead vocalist of U2?`Bono
Name the band - songs include "Strange Brew, White Room"?`Cream
Who sang 'Islands In The Stream' with Dolly Parton?`Kenny Rogers
The standard major scale is also known as the _______ mode?`Ionian
With which period in music do we associate composers such as Tchaikovsky, Mendelssohn, and Chopin?`Romantic period`Romantic
Hang On Sloopy was the official rock song of which band?`Ohio
Who was Carl in Five Easy Pieces before going to Walton's Mountain?`Waite
Who did Patrick Duffy portray in the TV series 'Dallas'?`Bobby Ewing
This term means to play moderately slow and gracefully?`Adagio
Jerry Lee Lewis had Great _____ Of Fire?`Balls
Who played Brad Pitt's cop partner in the movie "Seven"?`Morgan Freeman
Name the fastest mouse in all of Mexico?`Speedy gonzalez
Which comedy duo did the famous, "Who's on first" routine?`Abbott and Costello
Name Hagar the Horrible's dog?`Snert
Who played the lead in the movie "Castaway"?`Tom Hanks
Who played commander Riker in 'Star Trek'?`Jonathan Frakes
How many strings are there on a violin?`Four`4
What is the name of the skunk in the film, "Bambi"?`Flower
This film starring Julie Andrews and Christopher Plummer wont he best picture Oscar for 1965?`The Sound of Music
Through 1963 this duo's total record sales exceeded 18 million with successes including "Cathy's Clown" and "Wake Up Little Suzie"?`The Everly Brothers
In the cartoons who was Hokie Wolf's sidekick?`Ding
What was Garth's last name in 'Wayne's World'?`Algar
With which period in music do we associate composers such as Beethoven, Mozart and Haydn?`Classical period`classical
Charles Laughton played Quasimodo in this film?`The Hunchback of Notre Dame
What character did Tex Avery first create upon arriving at MGM?`Screwball squirrel
Who starred as 'ouboet' in the first TV series of 'Orkney Snork Nie'?`Frank Opperman
Green Lantern's alter ego?`Hal jordan
On what T.V. show could Tom Terrific be found?`Captain kangaroo
The first 18 minutes of this movie is black and white and then turns to color?`Wizard of Oz
What was the first network series devoted entirely to rock and roll?`American Bandstand
Name the ranger who was always after Yogi Bear?`Rick
Secret Identities: Jonn Jonzz?`Martian manhunter
What instrument are you playing when you perform a rim shot?`Drums
What was Rocky's nickname in the ring?`The Italian Stallion`italian stallion
Alvin & Simon had a brother called ____?`Theodore
Who directed '2001: A Space Odyssey' and 'A Clockwork Orange'?`Stanley Kubrick
Who sang about Desmond and Molly Jones?`The Beatles
This movie/book is about the migration of poor workers from the dust bowl to the Californian fruit valleys?`The Grapes of Wrath
Which film preceded 'Magnum Force' and 'The Enforcer'?`Dirty Harry
Who was Lauren Bacall's first husband?`Humphrey Bogart
The initials of the band NIN stand for?`Nine Inch Nails
What was the name of Barney and Betty Rubble's son?`Bam Bam
Which country and western singer is known as the 'okie from muskogee'?`Merle Haggard
Who sang 'Forever and Ever, Amen'?`Randy Travis
She played a Polish refugee in "Sophie's Choice"?`Meryl Streep
Fifties rock "n" roll was revived by what greased hair, T-shirted, TV frequenting group?`Sha Na Na
What did Peppermint Patty always call Charlie Brown?`Chuck
Which German duo have sold over 85 million records?`Modern Talking
Crosby, Stills and Nash's debut album included a song about a girl and the colour of her eyes. Name that song?`Sweet Judy Blue Eyes
Bugs always finds himself at the wrong end of a gun, usually toted by either Elmer Fudd or who?`Yosemite Sam
Who plays many voices, such as Dr Nick, and Moe on 'The Simpsons'?`Hank Azaria
Who invented James Bond?`Ian Fleming
What was Dorothy's last name in "The Wizard of Oz"?`Gale
This film was a concert sequence of cartoons by Walt Disney?`Fantasia
What license plate number is on the Volkswagon on the cover of The Beatles' 'Abbey Road' Album?`281F
Who did Vivian Vance play on 'The Lucy Show'?`Vivian Bagley
Who played Dorothy in "The Wizard of Oz"?`Judy Garland
Who wrote 'Roll Over Beethoven'?`Chuck Berry
The director of Jaws, Raiders of the Lost Ark?`Stephen spielberg
Besides "Auld Lang Syne" and "For He's a Jolly Good Fellow", what is the most frequently sung song in English?`Happy Birthday
Secret Identities: Kay Challis?`Crazy jane
Which band is Eddie Vedder with?`Pearl Jam
Which basketball star played a genie in 'Kazaam'?`Shaquille O'Neal
Who is James Bonds Recurring Foe?`Ernst Stavro Blofeld
What is the longest running musical in Broadway history?`Cats
What Magician walked through the great wall of china?`David Copperfield
-674
View File
@@ -1,674 +0,0 @@
(FFI) What is the HP of the final boss (Chaos), in the original NES version?`2,000`2000
(FFI) Who is the true identity of Chaos?`Garland
(FFI) The protagonist is known as the...?`Warrior of Light
(FFI) What is the name of the secret mini-game?`15 Puzzle
(FFI) Who is the fiend of wind?`Tiamat
(FFI) Who is the fiend of water?`Kraken
(FFI) Who is the fiend of earth?`Lich
(FFI) Who is the fiend of fire?`Marilith
(FFI) Who or what teaches you how to view the map?`Broom
(FFI) Who is the blind witch?`Matoya
(FFI) What do you present to Bahamut after clearing the Citadel of Trials?`Rat's Tail`Rat Tail
(FFI) What are descendants of the "Sky People" called?`Lufenian`Lufaine`Lefeinish
(FFI) What is the name of the superboss residing in the deepest level of the Labyrinth of Time?`Chronodia
(FFII) Name the largest airship.`Dreadnought
(FFII) What is the Emperor's name?`Mateus
(FFII) Princess Hilda is the leader of which organization?`Wild Rose Rebellion
(FFII) Who is Maria's brother?`Leon
(FFII) Where do you find Ricard?`Inside Leviathan`Within Leviathan`In Leviathan
(FFII) Who is the "last Dragoon"?`Ricard`Gareth`Edward
(FFII) Who kills Ricard?`Dark Emperor`Emperor`Mateus
(FFII) Who is the last survivor living in Deist?`Elina`Elena`Kain
(FFII) Who is in love with Princess Hilda?`Gordon`Scott
(FFII) Who is Gordon's brother?`Scott
(FFII) What is the only thing that can destroy the Dreadnought?`Sunfire
(FFII) Sunfire can only be carried using?`Egil's Torch`Egil Torch
(FFII) What was the object that killed Josef?`A Boulder`Boulder`Rock
(FFII) Who is Josef's daughter?`Nelly`Nellie`Molly
(FFII) Who has the ability to talk to animals?`Guy`Gus
(FFII) Minwu serves which family?`Fynn
(FFII) What sound does the Emperor make when defeated?`Ungaahhh`Ungahhh
(FFII) Name the key to Kashuan Keep.`Goddess's Bell`Goddess Bell
(FFII) Who kidnapped Josef's daughter?`Borghen`Borgan
(FFII) Minwu offers his life in exchange for what?`Ultima Tome`Ultima
(FFII) Where is the Ultima Tome located?`Mysidian Tower
(FFIII) Who was Xande's mentor?`Great Magus Noah`Noah
(FFIII) Who has feelings for Ingus?`Princess Sara Altney`Sara
(FFIII) The Djinn's curse turns people into?`Ghosts`Ghost
(FFIII) What item is required to seal the Djinn?`Mythril Ring
(FFIII) Which animal does Refia hate?`Toad
(FFIII) Who mind-controlled King Gorn?`Gigameth`Gigames
(FFIII) What does Gigameth turn into?`Garuda
(FFIII) Who is Refia's adopted father?`Takka`Taca
(FFIII) Name the hometown of Luneth and Arc.`Ur
(FFIII) What gender is the Legendary Smith?`Female
(FFIII) Excluding Xande, name Noah's two other disciples. (\_\_\_ and \_\_\_)`Doga and Unei`Unei and Doga`Dorga and Unei`Unei and Dorga`Doga and Unne`Unne and Doga`Dorga and Unne`Unne and Dorga
(FFIII) Who is Desch's girlfriend?`Salina
(FFIII) Who is known as "The Maiden of Water"?`Aria Benett`Aria`Elia
(FFIII) Luneth and Arc were adopted by?`Topapa and Nina`Topapa`Nina
(FFIII) What is the "unknown metal" that is required to get Ultima Weapon?`Orichalcum
(FFIII) What gift did Xande's mentor bestow upon him?`The gift of mortality`Mortality
(FFIII) What is the gender of the Cloud of Darkness?`Genderless`None
(FFIV) Which floor on the Tower of Zot are the Magus Sisters fought? (Answer without numerics)`Fifth`Five
(FFIV) What item was used to cure Rosa's desert fever?`Sand Pearl
(FFIV) Rosa has feelings for Kain. True/False?`False
(FFIV) Name an airship present in the game.`Enterprise or Falcon`Falcon`Enterprise
(FFIV) It was later revealed that Golbez was being mind-controlled by who?`Zemus
(FFIV) Who originally summoned the Mist Dragon?`Rydia's mother`Mother of Rydia
(FFIV) Cecil marries Rosa. True/False?`True
(FFIV) Who does Edge have a crush on?`Rydia
(FFIV) Who is the Queen of Eidolons?`Asura
(FFIV) Which castle guards the Fire Crystal?`Damcyan
(FFIV) Which castle guards the Wind Crystal?`Fabul
(FFIV) Which castle guards the Earth Crystal?`Toroia
(FFIV) Which village guards the Water Crystal?`Mysidia
(FFIV) What is Edge's real name?`Edward Geraldine`Edward
(FFIV) Who is Cecil's father?`KluYa
(FFIV) What item was given to Cecil by Edward to aid in battle against the Dark Elf?`The Whisperweed`Whisperweed`Twin Harp
(FFIV) Which monster swallowed Rydia?`Leviathan
(FFIV) What does Cid use to seal the entrance to the underworld?`A bomb`Bomb
(FFIV) What item is used to wake Yang up in the Sylph Cave?`Frying Pan
(FFIV) Rydia never learns the spell, Fire, due to trauma. True/False?`False
(FFIV) What is the name of Tellah's daughter?`Anna
(FFIV) What is the name of Kain's father?`Richard
(FFIV) The elusive Pink Tail is an item drop from...?`Flan Princess
(FFIV) What is the name of the "Home to all Eidolons"?`Feymarch
(FFIV) What is Golbez's real name?`Theodor
(FFIV) Tellah died after casting what magic spell?`Meteor
(FFIV) Who is Cecil's brother?`Golbez`Theodor
(FFIV) What crystal was exchanged for Rosa's safety?`Earth Crystal`Earth
(FFIV) What is the name of Cecil's son?`Ceodore Harvey`Ceodore
(FFIV) What is the true identity of the King of Baron?`Cagnazzo`Kainazzo
(FFIV) Who is the Archfiend of Water?`Cagnazzo`Kainazzo
(FFIV) What is Cagnazzo's epithet?`The Drowned King`Drowned King
(FFIV) Who is the Archfiend of Earth?`Scarmiglione`Milon
(FFIV) What is Scarmiglione's epithet?`The Blighted Despot`Blighted Despot
(FFIV) Who is the Archfiend of Wind?`Barbariccia
(FFIV) What is Barbariccia's epithet?`Empress of the Winds`Empress of the Wind
(FFIV) Who is the Archfiend of Fire?`Rubicante
(FFIV) What is Rubicante's epithet?`Autarch of Flame`Autarch of the Flame
(FFV) What is the name of Cid's grandson?`Mid
(FFV) Besides Galuf & Dorgann, name one of the other two Warriors of Dawn.`Xezat`Kelger`Kelgar
(FFV) How many legendary weapons are there?`12
(FFV) What is Faris's full real name?`Sarisa Scherwil Tycoon
(FFV) Who is the king of Surgate?`Xezat
(FFV) "Lupine Attack" is a move used by who?`Kelger`Kelgar
(FFV) Which village has hidden vendors?`Phantom Village`Mirage Village`Phantom`Mirage
(FFV) How many minutes do you have to find & defeat Gogo before you run out of air? (Answer without numerics)`Seven
(FFV) What is the name of Bartz's mother?`Stella
(FFV) What is the name of Lenna's wind drake?`Hiryu
(FFV) Who has the ability to talk to moogles & chocobos?`Krile`Cara`Kururu
(FFV) What is the name of Bartz's chocobo?`Boko`Boco
(FFV) What prevented Galuf from falling victim to Siren's deception?`Amnesia
(FFV) Who is Faris's childhood friend + savior + pet?`Syldra
(FFV) What cures wind drakes from sickness?`Dragon Grass
(FFV) Who among the party owns a wind drake?`Lenna and Krile`Lenna`Krile`Reina
(FFV) Who is the "talking turtle"?`Ghido`Gill`Guido
(FFV) How many times do you face off against Gilgamesh? (Answer without using numerics)`Five
(FFV) Who is Galuf's granddaughter?`Krile
(FFV) How many times must the party flee in order to max out the Attack of the Chicken Knife?`254
(FFVI) Name the esper who found and took care of Terra in esper form.`Ramuh
(FFVI) 'Summons' are known as?`Espers`Esper
(FFVI) Who was responsible for awakening Terra's esper form?`Valigarmanda`Tritoch
(FFVI) Celes posed as who in an opera?`Maria
(FFVI) Who is Terra's father?`Maduin
(FFVI) Who is Edgar's brother?`Sabin
(FFVI) What was the command exclusive to Leo?`Shock
(FFVI) Who is Terra's mother?`Madeline`Madonna
(FFVI) General Leo had a Magitek infusion. True/False?`False
(FFVI) Name the first esper you encounter in the game.`Valigarmanda`Tritoch
(FFVI) Who first saves Terra and removes her slave crown?`Arvis
(FFVI) Who is the leader of The Returners?`Banon
(FFVI) Name a character that Gau refers to as "Mr. Thou".`Cyan or Sabin`Cyan`Sabin`Cayenne
(FFVI) How many permanent playable characters are there?`14
(FFVI) Which one of Mog's dances cannot be acquired in the World of Ruin?`Water Rondo
(FFVI) Who is the first esper you receive?`Ramuh
(FFVI) Who does Relm call a "fuddy duddy"?`Strago
(FFVI) Name Setzer's airship.`The Blackjack`Blackjack
(FFVI) What do you feed Cid with to help him recover in the World of Ruins?`Fish
(FFVI) What was Rachel doing with Locke that resulted in her loss of memories?`Treasure hunting`Treasure hunt
(FFVI) What name did Edgar go by in the World of Ruins?`Gerad
(FFVI) Name the monster the party must be swallowed by in order to find Gogo.`Zone Eater
(FFVI) What is Shadow's real name?`Clyde
(FFVI) Who was Shadow's partner-in-crime?`Baram
(FFVI) When Ultros says "Oh, that one's a tasty morsel!" who has he set his sights on?`Terra
(FFVI) Deathgaze is only encountered while riding which mode of transport?`Airship
(FFVI) What is the name of Shadow's dog?`Interceptor
(FFVI) Who was the original owner of The Falcon?`Darill
(FFVI) Name an esper who fell in love with a human.`Maduin or Odin`Maduin`Odin
(FFVI) How many espers are there in the game?`27
(FFVI) What is Locke's so-called profession?`Treasure Hunter
(FFVI) What can be won by betting Ultima Weapon in the Coliseum?`Gladius
(FFVII) What is Red XIII's real name?`Nanaki
(FFVII) Who is Sephiroth's mother?`Lucrecia Crescent`Lucrecia
(FFVII) Well-known katana.`Masamune
(FFVII) Sephiroth is right-handed. True/False?`False
(FFVII) What is the name of the move with the longest-running animation scene?`Sephiroth's Supernova`Supernova
(FFVII) What is Cid's occupation/role?`Pilot
(FFVII) What type of weapon does Cait Sith use?`Megaphone
(FFVII) With whom is Elena in love?`Tseng
(FFVII) Who is the Shinra employee controlling Cait Sith?`Reeve
(FFVII) What is the ultimate summon?`Knights of the Round
(FFVII) You get the Blue Magic, 'Beta', from which monster?`Midgar Zolom`Midgardsormr
(FFVII) What is the name of Cloud's level 4 Limit Break?`Omnislash
(FFVII) What is the name of Aerith's level 4 Limit Break?`Great Gospel
(FFVII) What is the name of Yuffie's level 4 Limit Break?`All Creation
(FFVII) What is the name of Tifa's level 4 Limit Break?`Final Heaven
(FFVII) What is the name of Barret's level 4 Limit Break?`Catastrophe
(FFVII) What is the name of Red XIII's level 4 Limit Break?`Cosmo Memory
(FFVII) What is the name of Cait Sith's level 4 Limit Break?`He doesn't have one`None`Nil`Invalid`Doesn't have one`Non-existent`doesnt have one
(FFVII) What is the name of Cid's level 4 Limit Break?`Highwind
(FFVII) What is the name of Vincent's level 4 Limit Break?`Chaos
(FFVII) What is the one FFVII spin-off that never left Japan?`Before Crisis
(FFVII) There exists a female of Red XIII's species. True/False?`True
(FFVII) Besides the Gold Chocobo, which Chocobo has the ability to traverse mountains?`Black Chocobo
(FFVIII) Who is Laguna's wife?`Raine
(FFVIII) Who is Squall's father?`Laguna Loire`Laguna
(FFVIII) Who is Squall's mother?`Raine Loire`Raine
(FFVIII) What is the true identity/name of the UFO?`PuPu
(FFVIII) In two words; what happens to Laguna when he gets nervous?`Leg cramp
(FFVIII) Where is Laguna's hometown?`Winhill
(FFVIII) From which tribe do the Mumbaas originate?`Shumi
(FFVIII) There are absolutely no moogles in Final Fantasy VIII. True/False?`False
(FFVIII) What is Cid's occupation/role?`Headmaster of Balamb Garden`Headmaster
(FFVIII) What is the name of the creature engraved in Squall's Revolver?`Griever
(FFVIII) Which monster interrupted Laguna while filming?`Ruby Dragon
(FFVIII) There is a map of the real world somewhere in Winhill. True/False?`True
(FFVIII) What is the fictional character mentioned by Seifer, 'Sorceress Knight', named as?`Zefer
(FFVIII) What is the name of the card game?`Triple Triad
(FFVIII) Squall's character design was heavily influenced by which real life actor?`River Phoenix
(FFVIII) What is the ultimate GF?`Eden
(FFVIII) What is the name of the group/organization which exists only to protect Ellone?`White SeeD
(FFVIII) Who is the headmaster of Galbadia Garden?`Martine
(FFVIII) Where can Headmaster Martine be found after Galbadia Garden was overtaken?`Fisherman's Horizon`Fisherman Horizon
(FFVIII) What is the name of the magazine that reports mysterious sightings?`Occult Fan
(FFVIII) Seifer, Fujin, and Raijin, make up what committee?`Disciplinary Committee`Disciplinary
(FFVIII) What is MiniMog's role?`A GF`GF
(FFVIII) Name the only spell which can only be drawn from an enemy.`Apocalypse
(FFVIII) What is the nickname given to Zell by Seifer?`Chicken wuss
(FFVIII) What always gets sold out in Balamb Garden cafeteria?`Hotdogs`Hot dogs
(FFVIII) How many attacks are there in Squall's Lionheart limit break?`17
(FFVIII) What is the only word Moombas know?`Laguna
(FFVIII) Who is the owner of Balamb Garden?`NORG
(FFVIII) What does GF stand for?`Guardian Force
(FFVIII) Who refers to Laguna as "Uncle Laguna"?`Ellone
(FFVIII) Who is Rinoa's father?`General Caraway`Fury`Fury Caraway
(FFVIII) Who is Rinoa's mother?`Julia Heartilly`Julia
(FFVIII) Name the phenomenon that causes monsters to fall from the moon.`Lunar Cry
(FFVIII) Rinoa is referred to as the "Princess" of which organization?`The Forest Owls`Forest Owls
(FFVIII) Name the 2 main members of The Forest Owls besides Rinoa. (\_\_\_ and \_\_\_)`Zone and Watts`Watts and Zone
(FFVIII) What is the name of the dirty magazines present in the game?`Girl Next Door
(FFVIII) What is General Caraway's first name?`Fury
(FFVIII) You need a certain series of magazines in order to upgrade your weapons. True/False?`False
(FFVIII) Where is Edea's orphanage located?`Cape of Good Hope
(FFVIII) Within the game, who is widely regarded as the best card player?`Queen of Cards`Card Queen`Ishtar
(FFVIII) In the entirety of the game, Fujin only gives one-word comments. True/False?`False
(FFVIII) Who are Laguna's sidekicks? (\_\_\_ and \_\_\_)`Ward and Kiros`Kiros and Ward
(FFVIII) Who are Seifer's sidekicks? (\_\_\_ and \_\_\_)`Fujin and Raijin`Raijin and Fujin
(FFVIII) You are never able to enter Zell's room. True/False?`False
(FFVIII) 'Eyes on Me' was sung by?`Faye Wong
(FFVIII) What is the name of the series of magazines needed to teach Zell new Limit Break moves?`Combat King
(FFVIII) There is a "hidden" Limit Break combat move for Zell. True/False?`True (Armageddon Fist)`True
(FFVIII) It is possible to use Selphie's "The End" Limit Break on the final boss. True/False?`True
(FFVIII) What is the name Rinoa's dog?`Angelo
(FFVIII) What is the name of Squall's ultimate Limit Break?`Lionheart`Lion Heart
(FFVIII) What is the name of Quistis's ultimate Limit Break?`Shockwave Pulsar
(FFVIII) What is the name of Rinoa's ultimate Limit Break?`Wishing Star/Angel Wing`Wishing Star`Angel Wing
(FFVIII) What is the name of Zell's ultimate Limit Break?`My Final Heaven/Armageddon Fist`Final Heaven`Armageddon Fist
(FFVIII) What is the name of Selphie's ultimate Limit Break?`The End
(FFVIII) What is the name of Irvine's ultimate Limit Break/shot?`Hyper Shot
(FFIX) What is Garnet's nickname?`Dagger
(FFIX) What is the name of the weapon Beatrix wields?`Save the Queen
(FFIX) Name the female member of Tantalus.`Ruby
(FFIX) Who wields a hammer in battle?`Cinna
(FFIX) Who is the female bounty hunter?`Lani
(FFIX) Besides Zidane and Kuja, which other Genome possesses a soul?`Mikoto
(FFIX) What is Zidane's race?`Genome
(FFIX) What cures Blank's petrification?`Supersoft
(FFIX) Who is the leader of the Tantalus crew?`Baku
(FFIX) What is the name of Zorn and Thorn's true form?`Meltigemini
(FFIX) What is the name of Queen Brahne's airship?`Red Rose
(FFIX) What is the name of the card game?`Tetra Master
(FFIX) How many "Hilda Garde" airships are there? (Answer without numerics)`Three
(FFIX) What is the nickname Zidane gives Steiner?`Rusty
(FFIX) You first meet Cid when he is not in human form but in the form of what?`An oglop`Oglop
(FFIX) Who turned Cid into an oglop?`His wife`Hilda Garde`Hilda
(FFIX) Who was responsible for turning Cid into a frog?`Doctor Tot`Dr Tot`Dr. Tot`Dr.Tot
(FFIX) Steiner commands a small army called the...`Knights of Pluto
(FFIX) Who does Vivi refer to as "grandpa"?`Quan
(FFIX) What is the name of the state a character enters when they are "riled up"?`Trance
(FFIX) Name a character who doesn't have a unique Trance command.`Steiner/Freya`Steiner`Freya
(FFIX) Beatrix can enter Trance. True/False?`False
(FFIX) While in Trance, Zidane's 'Skill' command changes to?`Dyne
(FFIX) While in Trance, Garnet's 'Summon' command changes to?`Eidolon
(FFIX) While in Trance, Vivi's 'Blk Mag' command changes to?`Dbl Blk
(FFIX) While in Trance, Quina's 'Eat' command changes to?`Cook
(FFIX) While in Trance, Eiko's 'Wht Mag' command changes to?`Dbl Wht
(FFIX) While in Trance, Amarant's 'Flair' command changes to?`Elan
(FFIX) How many "Black Waltzes" are there? (Answer without numerics)`Three
(FFIX) In the first battle of the game, you fight a man wearing a mask resembling a?`Blue dragon`Dragon`Wyvern`Blue wyvern
(FFIX) What is the name of the airship owned by the Tantalus Theater Troupe?`Prima Vista
(FFIX) There is a sidequest to find every member of the Nero family. True/False?`True
(FFIX) Who are known as the "Nero Brothers"? (\_\_\_ and \_\_\_)`Benero and Zenero
(FFIX) It is not possible to marry Quina with Vivi. True/False?`False
(FFIX) How many members of the Nero family are revealed in the game? (Answer without numerics)`Ten
(FFIX) What does Blank throw to Zidane in the Evil/Petrified Forest?`The World Map`World Map
(FFIX) Who is known as "Red"?`Amarant
(FFIX) Who does some black mages try to keep away from a chocobo egg?`Quina
(FFIX) What is Quina's favorite food?`Frogs`Frog
(FFIX) Steiner confesses his love for Beatrix. True/False?`True
(FFIX) The "eye in the sky" turns out to be?`The Invincible`Invincible
(FFIX) Who does Eiko have a crush on?`Zidane
(FFIX) Who was mainly responsible for saving Blank from petrification?`Marcus
(FFIX) Who are the "twin jesters"? (\_\_\_ and \_\_\_)`Zorn and Thorn`Thorn and Zorn
(FFIX) Who adopts Eiko?`Cid and Hilda`Cid`Hilda
(FFIX) Kuja does not have a tail. True/False?`False
(FFIX) Garnet originally had a horn. True/False?`True
(FFIX) Who originally requested the Tantalus crew to kidnap Garnet?`Regent Cid`Cid
(FFIX) What is the name of the sailing ship?`Blue Narciss
(FFIX) Who is Garnet's tutor/mentor?`Doctor Tot`Dr Tot`Dr. Tot
(FFIX) What does Kuja demand Zidane to obtain for him in exchange for the lives of his friends?`Gulug Stone
(FFIX) Eiko gives Zidane a kiss on the cheek. True/False?`False
(FFIX) Lani eventually settles in Madain Sari. True/False?`True
(FFIX) Who is the prince of Burmecia?`Puck
(FFIX) Vivi "expires". True/False?`True, much to everyone's dismay.`True
(FFIX) Who is Freya's lost love?`Sir Fratley`Fratley
(FFIX) What is the only monster that is fought as a group in the Festival of the Hunt?`Zaghnol
(FFIX) Who is the moogle with the shiniest coat?`Artemicion
(FFIX) In the game, who wrote the play, I Want To Be Your Canary?`Lord Avon
(FFIX) A large amount of various elements in the game draws inspiration from a famous playwright/poet, who is he?`William Shakespeare
(FFIX) Name a world present in FFIX.`Gaia or Terra`Terra`Gaia
(FFIX) Which continent does Cleyra belong to?`Mist continent`Mist
(FFIX) What is Garnet's true name?`Sarah
(FFIX) Name the monster that traps Vivi/Garnet.`Prison Cage
(FFIX) What is the name of Garnet's true mother?`Jane
(FFIX) Which continent does Daguerro belong to?`Forgotten continent`Forgotten
(FFIX) What is Cid's occupation/role?`Regent of Lindblum`Regent
(FFIX) Which moogle wears a leopard skin hood?`Stiltzkin
(FFX) Who is Yuna's father?`Braska
(FFX) Who is Wakka's younger brother?`Chappu
(FFX) What is the name of Tidus's home blitzball team?`Zanarkand Abes
(FFX) What is the name of Wakka's home blitzball team?`Besaid Aurochs
(FFX) What does Lulu wield as weapons?`Dolls`Doll
(FFX) Who is Tidus's father?Jecht
(FFX) Who created Sin?`Yu Yevon
(FFX) What color is Yuna's right eye?`Green
(FFX) Who refers to Yuna as "Yunie"?`Rikku
(FFX) What is one of Rikku's biggest fears?`Lightning`Thunder`Snake
(FFX) Who is the head commander of The Crusaders?`Wen Kinoc
(FFX) What was the original name for The Crusaders?`The Crimson Blades`Crimson Blades
(FFX) 'Summons' are known as?`Aeons`Aeon
(FFX) Lulu and Wakka gets married. True/False?`True
(FFX) Who is the fayth of aeon Anima?`Seymour's mother
(FFX) Who is Lady Yunalesca's husband?`Zaon
(FFX) What is the name of Rikku's brother?`Brother
(FFX) At the end of the game, what advice does Yuna give her people regarding lost friends or faded dreams?`Never forget them
(FFX-2) What is the name of the blitzball team of which Biggs and Wedge are a part of?`Gull Wings
(FFX-2) Complete the commercial tagline - "Last time she saved the world. This time it's \_\_\_."`personal
(FFX-2) Who is the leader of the Youth League?`Maevyn Nooj`Nooj
(FFX-2) Who sings alongside Yuna during her concert?`Lenne
(FFX-2) What is the title of the song sung during Yuna's concert?`1000 Words`Thousand Words
(FFX-2) What is the name of Yuna's signature pistols?`Tiny Bee
(FFX-2) What is the name of the Gullwings' airship?`The Celsius`Celsius
(FFX-2) What is the name of the rival group to Gullwings?`Leblanc Syndicate
(FFX-2) Who Yuna thought was Tidus from a sphere recording turned out to be \_\_\_.`Shuyin`Shuiin
(FFX-2) What are the names of Leblanc's two lackeys? (\_\_\_ and \_\_\_)`Ormi and Logos`Logos and Ormi
(FFX-2) After the events of FFX-2, Yuna & Tidus breaks up and Sin is revived. True/False?`True
(FFXIII) What is Lightning's real name?`Claire Farron`Eclair`Claire
(FFXIII) Where is Lightning's l'Cie brand?`Chest
(FFXIII) Who has the ability to sense beings from Pulse?`Dajh Katzroy`Dajh
(FFXIII) Who is the PSICOM officer who captured Sazh and Vanille?`Jihl Nabaat`Jihl`Nabaat
(FFXIII) Which fal'Cie branded Dajh?`Kujata
(FFXIII) Who is Jihl Nabaat's right-hand man?`Yaag Rosch`Yaag`Rosch
(FFXIII) What is the ultimate end-goal/Focus of l'Cie?`Destroy Cocoon
(FFXIII) Which fal'Cie serves as the main source of power for Cocoon?`Orphan
(FFXIII) What is the name of the enemy boss which resembles the Guard Scorpion from FFVII?`Manasvin Warmech
(FFXIII) What is the name of the enemy boss which resembles the Proud Clod from FFVII?`The Proudclad`Proudclad
(FFXIII) The fal'Cie, Kujata, is named after a summon of the same name from which FF series? (Answer in FF_)`FFVII`FF7
(FFXIII) The fal'Cie, Eden, is named after a summon of the same name from which FF series? (Answer in FF_)`FFVIII`FF8
(FFXIII) The fal'Cie, Anima, is named after a summon of the same name from which FF series? (Answer in FF_)`FFX`FF10
(FFXIII) The En-spell series of spells first originated from which FF series? (Answer in FF_)`FFXI`FF11
(FFXIII) Sazh's weapons are named after?`Stars & constellations`Constellations`Stars
(FFXIII) Name Vanille's eidolon.`Hecatoncheir
(FFXIII) Name Lightning's eidolon.`Odin
(FFXIII) Name Sazh's eidolon.`Brynhildr
(FFXIII) Name Snow's eidolon.`Shiva`Shiva sisters`Stiria and Nix`Nix and Stiria
(FFXIII) Name Hope's eidolon.`Alexander
(FFXIII) Name Fang's eidolon.`Bahamut
(FFXIII) What form does Shiva take in Gestalt Mode?`Motorcycle`Motorbike
(FFXIII) What form does Odin take in Gestalt Mode?`Horse
(FFXIII) What form does Brynhildr take in Gestalt Mode?`Car
(FFXIII) The city, Palumpolum, is named after? (\_\_\_ and \_\_\_)`Palom and Porom`Porom and Palom
(FFXIII) How many possible 3-man Paradigms/Optimas are there?`56
(FFXIII) How many combat roles are there? (Answer without numerics)`Six
(FFXIII) The act of changing Paradigms/Optimas in battle are officially called \_\_\_.`Paradigm Shift`Optima Change
(FFXIII) \_\_\_ and \_\_\_ make up the Shiva sisters.`Nix and Stiria`Stiria and Nix
(FFXIII) Shiva, Ifrit, Ramuh, Leviathan, Valefor, Carbuncle, Siren. Which one of these eidolons doesn't make an appearance in-game?`Leviathan
(FFXIII-2) What is Caius's full name?`Paddra Ballad-Caius`Paddra Ballad Caius
(FFXIV) What is the name of The Fiend?`Sephirot
(FFXIV) The Cloud of Darkness from FFIII makes an appearance as a boss in which raid?`World of Darkness
(FFXIV) Ozma from FFIX makes an appearance as a boss in which raid?`Weeping City of Mhach
(FFXIV) There was an event which featured Lightning from FFXIII, what is the name of this event?`Lightning Strikes
(FFXIV) What species handles the postal system in Eorzea?`Moogles`Moogle
(FFXIV) What is Bahamut Prime's signature move?`Tera Flare`Teraflare
(FFXIV) What is the identity of Phoenix?`Louisoix Leveilleur`Louisoix
(FFXIV) What does Teledji Adeledji raises as a pet?`Gil Turtle
(FFXIV) What is a Magitek Armor used as?`Mount
(FFXIV) In which region is the resort town, Costa del Sol, located in?`La Noscea
(FFXIV) Ultros & Typhon from FFVI makes an appearance as optional bosses in which NPC's storyline?`Hildibrand
(FFXIV) Who is the "duelist" who challenges adventurers and takes their weapons upon defeating them?`Gilgamesh
(FFXIV) Who is the Lord of the Inferno?`Ifrit
(FFXIV) Who is the Lord of the Crags?`Titan
(FFXIV) Who is the Lord of the Whorl?`Leviathan
(FFXIV) Who is the Lady of the Frost?`Shiva
(FFXIV) Who is the Lady of the Vortex?`Garuda
(FFXIV) Who is the Lord of Levin?`Ramuh
(FFXIV) Who is the Lord of the Hive?`Ravana
(FFXIV) Who is the Lord of the Mists?`Bismarck
(FFXIV) Who is known as 'The Black Wolf'?`Gaius van Baelsar`Gaius
(FFXIV) What is the password Minfilia uses to identify fellow members of the Scions of the Seventh Dawn?`Wild Rose
(FFXIV) Who attempts to steal Tupsimati from The Rising Stones?`Nabriales`Ascian Napriales`Napriales
(FFXIV) How many dragon killers are present on the Steps of Faith? (Answer without numerics)`Three
(FFXIV) Who was responsible for the destruction of the first Agrius model?`Midgardsormr
(FFXIV) Who is the Legatus of the XIVth Imperial Legion?`Gaius van Baelsar`Gaius
(FFXIV) Who is the Legatus of the VIth Imperial Legion?`Regula van Hydrus`Regula
(FFXIV) Who is Livia sas Junius's sister?`Lucia goe Junius`Lucia
(FFXIV) Who is the Tribunus of the XIVth Imperial Legion?`Nero tol Scaeva`Nero
(FFXV) What was the original/scrapped title of Final Fantasy XV?`Final Fantasy Versus XIII`Versus XIII
(FFXV) Name the character who was scrapped and replaced by Lunafreya Nox Fleuret.`Stella Nox Fleuret`Stella
(FFXV) Who is known as "The Dragoon"?`Aranea Highwind`Aranea
(FFXV) There is a sniper rifle (with useable scope) in the game. True/False?`True
(FFXV) What is the name of King Regis's car?`Regalia
(FFXV) What is the name of the puzzle-platformer style dungeon?`Pitioss Ruins`Pitioss
(FFXV) Name the lvl 120 superboss.`Nagifar
(FFXV) Name the lvl 110 superboss.`Ayakashi
(FFXV) Name the lvl 99 superboss.`Adamantoise
(FFXV) Which fish is generally regarded as the hardest to catch?`Pink Jade Gar
(FFXV) To upgrade your car to the Regalia Type-F, you need the Warped Wings, Unstable Stabilizer, and \_\_\_.`Strange Engine
(FFXV) The "creatures of the night" are known as?`Daemons`Daemon
(FFXV) How many floors does the deepest sealed-door dungeon have?`100
(FFXV) Shiva is also known as?`Gentiana
(FFXV) Complete this quote from Ignis, "That's it! I've \_\_\_!`Come up with a new recipe
(FFXV) What is the name of the monster-bird nesting in the Rock of Ravatogh?`Zu
(FFXV) There is a Royal Arm in the form of a gun. True/False?`False
(FFXV) Those with Lucis royal blood are able to use a skill to conjure specific weapons from thin air, what is this skill called?`Armiger Arsenal`Armiger
(FFXV) Name Lunafreya's white dog.`Pryna
(FFXV) Name Lunafreya's black dog.`Umbra
(FFXV) What is the brand of the cup noodles present in game?`Nissin
(FFXV) Who is Gladiolus's father?`Clarus Amicitia`Clarus
(FFXV) There is/was a glitch in the game which allowed the player to have Aranea join the party (not just assist during battle). True/False?`True
(FFXV) Biggs & Wedge are the lackeys of who?`Aranea Highwind`Aranea
(FFXV) Pryna was saved by who?`Prompto
(FFXV) The head of Ramuh's staff is modeled after which other summon from the FF series?`Ixion
(FFXV) There is a real-life car modeled after the Regalia produced by which automotive company?`Audi
(FFXV) How did Gladiolus get the (additional) horizontal scar on his forehead?`Fight with Gilgamesh`Trial of Gilgamesh`Gilgamesh`Gilgamesh trial`Gilgamesh fight
(FFXV) How did Gladiolus get the scar going down his right eye?`Protecting Noctis from a drunk`Protecting Noctis
(FFXV) What is the most valuable item you can get from playing Justice Monsters Five?`Wind-up Lord Vexxos`Wind up Lord Vexxos
(FFT) Who is known as the 'Silver Prince/Demon'?`Marquis Messam Elmdore`Marquis Elmdore`Marquis Messam Elmdore de Limberry`Elmdore de Limberry
(FFT) What is the name of the terrorist organization led by Wiegraf Folles?`Corpse Brigade`Death Corps
(FFT) Who is the Holy Dragon?`Reis Duelar`Reis`Duelar
(FFT) Who is the narrator of Final Fantasy Tactics?`Arazlam Durai`Arazlam
(FFT) Who is the optional boss found in the lowest level of Midlight's Deep?`Elidibus`Elidibs
(FFT) Who is Delita's sister?`Tietra Heiral`Tietra`Teta
(FFT) Who is Mustadio's love interest?`Agrias Oaks`Agrias
(FFT) Who is Princess Ovelia's bodyguard?`Lady Agrias Oaks`Agrias Oaks`Agrias
(FFT) When is Agrias's birthday?`1st of Cancer`Cancer 1`1 Cancer
(FFT) Who is Cidolfus Orlandeau's adopted son?`Orran Durai`Olan Durai`Orran`Olan
(FFT) What is Cidolfus Orlandeau's nickname?`Thunder God Cid
(FFT) Name the recruitable friendly Reaver.`Byblos
(FFT) What is the catalyst needed to turn Lucavi to Human form and vice versa?`Zodiac Stones`Zodiac Stone`Auracite
(FFT) Gaffgarion is employed by who?`Dycedarg Beoulve`Dycedarg
(FFT) What is the name of Ramza's father?`Barbaneth Beoulve`Barbaneth`Balbanes
(FFT) Where was Marquis Elmdore being held hostage/imprisoned at?`Sand Rat Sietch
(FFT) In FFT:WoTL, there is a secret playable character from FFXII, who is it?`Balthier
(FFT) Name one of Ramza's brothers.`Dycedarg or Zalbaag`Dycedarg`Zalbaag
(FFT) Who is the leader of the Lucavi?`Ultima`Altima
(FFT) What is Mustadio's gift to Agrias for her birthday?`Tynar Rouge`Lip Rouge`Lipstick
(FFT) Who is the founder of the Church of Glabados?`Saint Ajora Glabados`St Ajora`Saint Ajora`St. Ajora`Ajora`Ajora Glabados
(FFT) Who killed Tietra?`Argath Thadalfus`Argath`Algus
(FFT) Who becomes the host of the Lucavi, Belias?`Wiegraf Folles`Wiegraf
(FFT) Who becomes the host of the Lucavi, Adrammelech?`Dycedarg Beoulve`Dycedarg
(FFT) Who is the host of the Lucavi, Cuchulainn?`Alphonse Delacroix`Alphonse`Cardinal Delacroix
(FFT) Who was used to be the host of the Lucavi leader, Ultima?`Alma Beoulve`Alma
(FFT) Who is the host of the Lucavi, Hashmal?`Folmarv Tengille`Folmarv`Vormav
(FFT) Who is the host of the Lucavi, Zalera?`Marquis Messam Elmdore`Elmdore`Marquis Elmdore`Elmdore de Limberry`Marquis Messam Elmdore de Limberry
(FFTA) What is the name of the strongest (highest ATK) Sword in the game?`Chirijaden
(FFTA) What is the name of the strongest (highest ATK) Saber in the game?`Manganese
(FFTA) What is the name of the strongest (highest ATK) Knightsword in the game?`Excalibur2 or Sequence`Excalibur 2`Excalibur2`Sequence
(FFTA) What is the name of the strongest (highest ATK) Greatsword in the game?`Master Sword
(FFTA) What is the name of the strongest (highest ATK) Rapier in the game?`Femme Fatale
(FFTA) What is the name of the strongest (highest ATK) Greatbow in the game?`Max's Oathbow`Max Oathbow
(FFTA) What is the name of the strongest (highest ATK) Spear in the game?`Odin's Lance`Odin Lance
(FFTA) What is the name of the strongest (highest ATK) Katana in the game?`Masamune
(FFTA) Which non-generic character comes with the ability, Astra?`Ezel Berbier`Ezel`Berbier
(FFTA) Who is the inventor of Anti-Laws?`Ezel Berbier`Ezel`Berbier
(FFTA) Who is the first Totema you encounter?`Famfrit
(FFTA) What is the game's default Clan name?`Clan Nutsy`Nutsy
(FFTA) Llednar is a "reverse" image of who?`Mewt Randell`Mewt
(FFTA) Famfrit is the totema of which race?`Moogles`Moogle
(FFTA) Ultima is the totema of which race?`Nu Mou
(FFTA) Adrammelech is the totema of which race?`Bangaa
(FFTA) Exodus is the totema of which race?`Viera
(FFTA) Mateus is the totema of which race?`Humans`Human
(FFTA) Who is Marche's brother?`Doned Radiuju`Doned
(FFTA) What are the lawless areas known as?`Jagds`Jagd
(FFTA) What did Marche initially thought Bangaas were?`Lizards`Lizard`Lizardmen
(FFTA) Who saved Marche when he first warped to fantasy Ivalice?`Montblanc
(FFTA) It was later revealed that the dream world of Ivalice is actually a fantasy of whose?`Mewt Randell`Mewt
(FFTA) What is Ritz's natural hair color?`White
(FFTA) Which clan does Ritz originally belonged to?`Clan Ritz`Ritz
(FFTA) Who is Ritz's closest partner/comrade?`Shara
(FFTA) Ritz utilizes the viera job tree. True/False?`True
(FFTA) What is Cid's occupation/role?`Judgemaster`Judge Master
(FFTA) In real world Ivalice, what caused Cid to fall into depression?`The death of his wife`Death of his wife`Passing of his wife`Death of Remedi`Passing of Remedi`His wife died
(FFTA) Who is Mewt's mother?`Remedi`Queen Remedi
(FFTA) It is possible to recruit Llednar to your clan. True/False?`False
(FFTA) It is possible to recruit Judgemaster Cid to your clan. True/False?`True
(FFTA) Who is the true identity of Queen Remedi?`Li-Grim`Li Grim`Ligrim
(FFVII C.C.) Which real life singer served as the character design model for Genesis Rhapsodos?`GACKT
(FFVII C.C.) What's the title of Genesis's favorite book?`LOVELESS
(FFVII C.C.) Who is Zack's mentor?`Angeal
(FFVII C.C.) What's the name of Genesis's fan club?`Red Leather`Study Group
(FFVII C.C.) What's the name of Angeal's fan club?`Keepers of Honor
(FFVII C.C.) What's the name of Sephiroth's fan club?`Silver Elite
(FFVII C.C.) It's possible for Zack to have a fan club. True/False?`True
(FFVII C.C.) Who is the leader of Sephiroth's fan club?`Professor Hojo`Hojo
(FFVII C.C.) How many fan clubs does Genesis have? (Answer without numerics)`Two
(FFVII C.C.) What's the real full name of "Project G"?`Project Gillian
(FFVII C.C.) Who operates under the codename, "Black Suit"?`Cissnei
(FFVII C.C.) Who is Angeal's mother?`Gillian Hewley`Gillian
(FFVII C.C.) What's the true name for dumbapples?`Banora White
(FFVII C.C.) Who was the chief scientist in charge of Project G?`Dr. Hollander`Hollander
(FFVII C.C.) The naming scheme for Angeal's special moves is inspired by? (Hint: Christianity)`The Seven Deadly Sins`Seven Deadly Sins`7 Deadly Sins
(TYPE-0) What is Kurasame Susaya's nickname?`Ice Reaper
(TYPE-0) What is Tiz's real name?`Tohno Mahoroha
(TYPE-0) What is Joker's real name?`Lean Hampelmann
(TYPE-0) Who is the commanding officer of Class Zero?`Kurasame Susaya`Kurasame`Susaya
(TYPE-0) Who is No.00 of Class Zero?`Joker`Lean Hampelmann`Lean`Hampelmann
(TYPE-0) Who is No.01 of Class Zero?`Ace
(TYPE-0) Who is No.02 of Class Zero?`Deuce
(TYPE-0) Who is No.03 of Class Zero?`Trey
(TYPE-0) Who is No.04 of Class Zero?`Cater
(TYPE-0) Who is No.05 of Class Zero?`Cinque
(TYPE-0) Who is No.06 of Class Zero?`Sice
(TYPE-0) Who is No.07 of Class Zero?`Seven
(TYPE-0) Who is No.08 of Class Zero?`Eight
(TYPE-0) Who is No.09 of Class Zero?`Nine
(TYPE-0) Who is No.10 of Class Zero?`Tiz`Tohno Mahoroha`Tohno`Mahoroha
(TYPE-0) Who is No.11 of Class Zero?`Jack
(TYPE-0) Who is No.12 of Class Zero?`Queen
(TYPE-0) Who is No.13 of Class Zero?`King
(TYPE-0) Name a member of Class Zero who isn't assigned a number.`Rem Tokimiya or Machina Kunagiri`Rem Tokimiya`Rem`Tokimiya`Machina Kunagiri`Machina`Kunagiri
(TYPE-0) What is Ace's weapon of choice?`Cards`Card
(TYPE-0) What is Deuce's weapon of choice?`Flute
(TYPE-0) What is Trey's weapon of choice?`Bow
(TYPE-0) What is Cater's weapon of choice?`Magicite pistol`Gun`Pistol
(TYPE-0) What is Cinque's weapon of choice?`Mace
(TYPE-0) What is Sice's weapon of choice?`Scythe
(TYPE-0) What is Seven's weapon of choice?`Whipblade
(TYPE-0) What is Eight's weapon of choice?`Knuckles`Fists`Fist
(TYPE-0) What is Nine's weapon of choice?`Spear
(TYPE-0) What is Jack's weapon of choice?`Katana
(TYPE-0) What is Queen's weapon of choice?`Sword
(TYPE-0) What is King's weapon of choice?`Dual guns`Guns`Gun
(TYPE-0) What is Machina's weapon of choice?`Twin rapiers`Rapiers`Rapier
(TYPE-0) What is Rem's weapon of choice?`Twin daggers`Daggers`Dagger
(TYPE-0) Who is the NPC you can spy on to watch her in bikinis?`Emina Hanaharu`Emina
(DISSIDIA) Who is the Goddess of Harmony?`Cosmos
(DISSIDIA) Who is the God of Discord?`Chaos
(DISSIDIA) Who created the Warrior of Light?`Cid of the Lufaine`Cid
(BRAVE EXVIUS) Who is the "red" main character?`Rain
(BRAVE EXVIUS) Who is the "blue" main character?`Lasswell
(BRAVE EXVIUS) Who is the female main character?`Fina
(BRAVE EXVIUS) What is the name of Rain's father?`Raegen`Sir Raegen
(BRAVE EXVIUS) Who was responsible for awakening Dark Fina?`Veritas of the Waters`Waters
(BRAVE EXVIUS) What is the group name of the 6 antagonists clad in black?`Sworn Six of Paladia`Six Sworn Heroes of Paladia`The Veritas
(BRAVE EXVIUS) The Veritas originally comprised of how many members? (Answer without numerics)`Eight
(BRAVE EXVIUS) Which Veritas member destroyed the Earth Crystal?`Veritas of the Dark`Dark
(BRAVE EXVIUS) Who is the mad scientist?`Dr. Lazarov`Dr Lazarov`Lazarov
(BRAVE EXVIUS) Which Veritas member destroyed the Wind Crystal?`Veritas of the Heavens`Heavens
(BRAVE EXVIUS) What is the name of Lasswell's sword?`Purple Lightning`Shiden
(BRAVE EXVIUS) Who crafted the Purple Lightning?`Veritas of the Flame`Flame
(BRAVE EXVIUS) Which kingdom do the main characters hail from?`Grandshelt
(BRAVE EXVIUS) What is the name of Rain's mother?`Sophia
(BRAVE EXVIUS) What is Lid's occupation?`Airship engineer`Engineer
(RECORD KEEPER) What does the term, BSB, stand for?`Burst Soul Break
(RECORD KEEPER) What does the term, OSB, stand for?`Overflow Soul Break`Overstrike Soul Break
(RECORD KEEPER) What does the term, SSB, stand for?`Super Soul Break
(RECORD KEEPER) What does the term, USB, stand for?`Ultra Soul Break
(RECORD KEEPER) What does the term, CLSB, stand for?`Chain Limit Soul Break
(RECORD KEEPER) What is the name of the buff that prevents fatal damage once?`Last Stand
(RECORD KEEPER) There is a secret Dress Record for Cloud in cross-dressing form. True/False?`False
(RECORD KEEPER) What is the name of the main character?`Tyro`Deshi
(RECORD KEEPER) Who is known as "the female Tyro"?`Urara
(RECORD KEEPER) What type of Materia are bound to characters?`Legend Materia`Legend
(RECORD KEEPER) Final Fantasy: Record Keeper has its own unique OST album. True/False?`True
(RECORD KEEPER) It is possible to have a 8* relic. True/False?`True
(RECORD KEEPER) Which character has the highest growth rate (1-99)?`Onion Knight
(RECORD KEEPER) Name one of the characters given as a reward for pre-registers.`Tidus`Warrior
(RECORD KEEPER) The first ever event dungeon released was from which realm? (Answer in "FF_")`FFVII`FF7
(RECORD KEEPER) What is the name of the "realm" that has synergy bonus for all realms?'Beyond
(RECORD KEEPER) Name the first ever "meta" strategy.`Retaliate Meta`Retaliate`Reta`Reta Meta
(RECORD KEEPER) What is the name of the ability that has the power to reduce an enemy's chance of inflicting debuffs?`Affliction Break
(RECORD KEEPER) There is a Summon that hits more than 3x. True/False?`True
(RECORD KEEPER) It is possible to draw a 5* (or higher) relic from the free daily draw. True/False?`True
(RECORD KEEPER) "Mythril" is the in-game currency that is bought with real money. True/False?`False
(RECORD KEEPER) There is/was an exclusive invitation-only MVP club which you could join if you spent 20,000USD or more on in-game purchases. True/False?`(The condition is) False`False
(RECORD KEEPER) What is the first boss introduced for the official release of Multiplayer Raids?`Gilgamesh
(RECORD KEEPER) Name the material meant for augmenting.`Rosetta Stone
(RECORD KEEPER) Name the material necessary for reforging.`Dark Matter
(RECORD KEEPER) What is the official term for "costumes" which you can use to change your characters' sprite design?`Dress Records`Dress Record
(RECORD KEEPER) Who is the main character?`Tyro
(RECORD KEEPER) Who is the main character's mentor?`Dr. Mog`Dr Mog
(RECORD KEEPER) Name a character who can use books besides Tyro.`Alphinaud/Onion Knight`Alphinaud`Onion Knight
(RECORD KEEPER) Name one of the 4 non-core characters available at the release of the game.`Cloud/Kain/Wakka/Rydia`Cloud`Kain`Wakka`Rydia
Name the main composer for the Final Fantasy series.`Nobuo Uematsu
Name the main character designer for the Final Fantasy series.`Tetsuya Nomura
Which FF title first featured Blue Magic? (Answer in "FF_")`FFV`FF5
'Final Fantasy VII: Avenged Children' is a movie. True/False?`False
What is a moogle's favorite food?`Kupo nut
Name the first FF title where the logo included Yoshitaka Amano's signature. (Answer in "FF_")`FFX`FF10
Name the only non-FF game which is part of Ivalice lore.`Vagrant Story
Name the accessory that generally grants immunity to most debuffs.`Ribbon
What was 'Final Fantasy' originally named?`Fighting Fantasy
Who is 'The Man with the Machine Gun'?`Laguna
Who is the 'One Winged Angel'?`Sephiroth
Who is Gilgamesh's sidekick?`Enkidu
What is Gilgamesh's widely known nickname?`Greg
What armor does Gilgamesh wear?`Genji
Who is widely regarded as the 'Father of Final Fantasy'?`Hironobu Sakaguchi`Sakaguchi Hironobu
THE iconic duo. (\_\_\_ and \_\_\_)`Biggs and Wedge`Wedge and Biggs
THE male white mage.`Minwu`Ming-Wu`Minh`Mindu
The names of Biggs & Wedge were inspired by characters sharing the same name in which popular movie & franchise?`Star Wars
Carbuncle grants what buff?`Reflect
Siren deals what debuff?`Silence
The original North-America release of FFIV was actually Japan's FFII with drastic content cut and lower difficulty. True/False?`True
There is an official version of FFIV known as "Final Fantasy IV: Easy Type". True/False?`True
Many monsters, notably the Mind Flayer and Evil Eye (aka. Beholder), were inspired from which popular tabletop game?`Dungeons & Dragons`Dungeons and Dragons
What does the term, 'ATB', stand for?`Active Time Battle
Name one title from the main Final Fantasy series that does not feature EXP points. (Answer in "FF_")`FFII`FFXIII`FFX`FF2`FF13`FF10
Kirin grants what buff?`Regen
In the entire FFVII universe, how many known members of Turks are there in total?`17
Iconic painting.`Lakshmi's Portrait`Portrait of Lakshmi
Which title from the main FF series was the first to feature voice acting? (Answer in "FF_")`FFX`FF10
What is Odin's signature move?`Zantetsuken
What is Shiva's signature move?`Diamond Dust
What is Ramuh's signature move?`Judgment Bolt`Judgement Bolt
What is Titan's signature move?`Gaia's Wrath
What is Ifrit's signature move?`Hellfire`Inferno
What is Leviathan's signature move?`Tsunami`Tidal Wave
What is Diabolos' signature move?`Dark Messenger
What is Bahamut's signature move?`Mega Flare`Giga Flare`Megaflare`Gigaflare
What is Alexander's signature move?`Divine Judgment`Divine Judgement
What is Cactuar's signature move?`1000 Needles`10000 Needles
What is Tonberry's signature move?`Everyone's Grudge`Karma
What is Malboro's signature move?`Bad Breath
What is Goblin's signature move?`Goblin Punch
Flans are generally weak against...`Black Magic`Magic
Complete the name! _____ Tribal`Zidane
Complete the name! _____ Gainsborough`Aerith`Aeris
Complete the name! _____ Leonhart`Squall
Complete the name! _____ Strife`Cloud
Complete the name! _____ Fair`Zack
Complete the name! _____ Branford`Terra`Tina
Complete the name! _____ Pollendina`Cid
Complete the name! _____ Scherwiz`Faris
Complete the name! _____ Quen`Quina
Complete the name! _____ Kramer`Cid`Edea
Complete the name! _____ Loire`Laguna`Raine
Complete the name! _____ Heartilly`Rinoa`Julia
Complete the name! _____ Almasy`Seifer
Complete the name! _____ Katzroy`Sazh`Dajh
Complete the name! _____ Valentine`Vincent
Complete the name! _____ Farron`Claire`Eclair`Serah
Complete the name! _____ Villiers`Snow
Complete the name! _____ Guado`Seymour`Jyscal
Complete the name! _____ Beoulve`Ramza`Barbaneth`Zalbaag`Dycedarg`Alma`Barbanes
Complete the name! _____ Heiral`Delita`Tietra`Teta
Complete the name! _____ Thadalfus`Argus
Complete the name! _____ Folles`Wiegraf`Milleuda
Complete the name! _____ Madiuju`Marche
Complete the name! _____ Randell`Mewt`Cid
Complete the name! _____ Malheur`Ritz
Complete the name! _____ Crescent`Lucrecia`Freya
Complete the name! _____ Rhapsodos`Genesis
Complete the name! _____ Izunia`Ardyn
Complete the name! _____ Garamonde`Cyan`Cayenne
Complete the name! _____ Figaro`Edgar Roni`Edgar`Sabin Rene`Sabin
Complete the name! _____ Chere`Celes
Complete the name! _____ Gabbiani`Setzer
Complete the name! _____ Cole`Locke
Complete the name! _____ Arrowny`Relm
Complete the name! _____ Magus`Strago
Complete the name! _____ Palazzo`Kefka
Complete the name! _____ Klauser`Bartz`Butz
Complete the name! _____ Tycoon`Lenna`Reina`Sarisa
Complete the name! _____ Hewley`Angeal`Gillian
Complete the name! _____ Kreiss`Noel
Complete the name! _____ Geraldine`Edward`Edge
Complete the name! _____ Tokimiya`Rem
Complete the name! _____ Susaya`Kurasame
Complete the name! _____ Duelar`Reis
Complete the name! _____ Joanna Farrel`Rosa
Complete the name! _____ Harvey`Cecil`Ceodore`Theodor
Complete the name! _____ Swain`Babus`Abacus
Complete the name! _____ Fabool`Cid`Hildagarde
Complete the name! _____ Adelbert`Steiner
Complete the name! _____ Coral`Amarant
Complete the name! _____ Thadalfus`Argath`Algus
Complete the name! _____ Bunansa`Mustadio
Complete the name! _____ Durai`Orran`Olan`Arazlam
Complete the name! _____ Orlandeau`Cidolfus
Complete the name! _____ Seagill`Kiros
Complete the name! _____ Zabac`Ward
Complete the name! _____ Altney`Sara
Complete the name! _____ Haze`Cid
Complete the name! _____ Previa`Cid`Mid
Complete the name! _____ Baldesion`Krile`Galuf`Cara`Kururu
Complete the name! _____ Carol`Eiko
Complete the name! _____ Crescent`Freya
Complete the name! _____ Ornitier`Vivi
Complete the name! _____ Amicitia`Gladiolus`Iris`Clarus
Complete the name! _____ Scientia`Ignis
Complete the name! _____ Argentum`Prompto
Complete the name! _____ Nabaat`Jihl
-60
View File
@@ -1,60 +0,0 @@
What does Valar morghulis mean?`All Men Must Die
What is the customary response to Valar morghulis?`Valar dohaeris
What does Valar dohaeris mean?`All Men Must Serve
What are the official words of House Lannister?`Hear Me Roar
What are the official words of House Baratheon?`Ours is the Fury
What are the official words of House Greyjoy?`We Do Not Sow
What are the official words of House Martell?`Unbowed, Unbent, Unbroken`Unbowed Unbent Unbroken
What are the official words of House Stark?`Winter is Coming
What are the official words of House Tully?`Family, Duty, Honor`Family Duty Honor
What are the official words of House Tyrell?`Growing Strong
What are the official words of House Targaryen?`Fire and Blood
What are the official words of House Frey?`We Stand Together
What are the official words of House Hornwood?`Righteous in Wrath
What are the official words of House Arryn?`As High as Honor
What are the official words of House Bolton?`Our Blades are Sharp
What are the official words of House Karstark?`The Sun of Winter
What are the official words of House Mormont?`Here We Stand
What are the official words of House Hightower?`We Light the Way
What are the official words of House Stokeworth?`Proud to be Faithful
What are the official words of House Tarly?`First in Battle
What are the official words of House Royce?`We Remember
What are the official words of House Mallister?`Above the Rest
What are the official words of House Cerwyn?`Honed and Ready
What was the name of Robb Stark's direwolf?`Grey Wind
What was the name of Sansa Stark's direwolf?`Lady
What was the name of Arya Stark's direwolf?`Nymeria
What was the name of Jon Snow's direwolf?`Ghost
What was the name of Bran Stark's direwolf?`Summer
What was the name of Rickon Stark's direwolf?`Shaggydog
What was the name of the Valyrian Steel two-handed greatsword of House Stark?`Ice
What was the name of the Valyrian Steel two-handed greatsword of House Tarly?`Heartsbane
What was the name of the Valyrian Steel bastard sword of House Mormont?`Longclaw
What was the name of the Valyrian Steel sword of House Corbray?`Lady Forlorn
What was the name of the Valyrian Steel blade of House Harlaw?`Nightfall
What was the name of the Valyrian Steel blade given to Brienne of Tarth by Jaime Lannister?`Oathkeeper
What was the name of the Valyrian Steel blade given to Joffrey reforged from Ice?`Widow's Wail`widows wail
What was the name of the Valyrian Steel sword of House Targaryen?`Blackfyre
What was the name of the Valyrian Steel sword of House Lannister?`Brightroar
What was the name of the Valyrian Steel sword of House Royce?`Lamentation
What was the name of the Valyrian Steel sword of House Hightower?`Vigilance
Which House's sigil is the moon-and-falcon, white, upon a sky blue field?`House Arryn`Arryn
Which House's sigil is a crowned stag, black, on a golden field?`House Baratheon`Baratheon
Which House's sigil is a golden kraken upon a black field?`House Greyjoy`Greyjoy
Which House's sigil is a golden lion upon a crimson field?`House Lannister`Lannister
Which House's sigil is a red sun pierced by a golden spear?`House Martell`Martell
Which House's sigil is a grey direwolf on an ice-white field?`House Stark`Stark
Which House's sigil is a three-headed dragon, red, on black?`House Targaryen`Targaryen
Which House's sigil is a leaping trout, silver, on a field of rippling blue and red?`House Tully`Tully
Which House's sigil is a golden rose on a grass-green field?`House Tyrell`Tyrell
Which House's sigil is a flayed man?`House Bolton`Bolton
Which House's sigil is three dogs in the yellow of autumn grass?`House Clegane`Clegane
Which House's sigil is a purple lightning bolt on a black field?`House Dondarrion`Dondarrion
Which House's sigil is twin towers, blue on silvery grey?`House Frey`Frey
Which House's sigil is a mailed fist, silver on scarlet?`House Glover`Glover
Which House's sigil is a striding huntsman?`House Tarly`Tarly
Which House's sigil is a white sun on black?`House Karstark`Karstark
Which House's sigil is a black bear?`House Mormont`Mormont
Which House's sigil is a yellow sun and crescent moon on quartered rose and azure?`House Tarth`Tarth
Which House's sigil is a roaring giant in shattered chains (four chains linked by a central ring on red in the tv show)?`House Umber`Umber
Which House's sigil is a bloody spear, gold on a night-black field?`House Slynt`Slynt
-160
View File
@@ -1,160 +0,0 @@
What game made popular the phrase "Do a barrel roll?"`Star Fox 64
Who is the main character from Final Fantasy VII?`Cloud Strife
What is Mario's surname?`Mario
What was Mario's original name?`Jumpman
In what game did Mario make his first appearance?`Donkey Kong
Who was Sega's mascot?`Sonic the Hedgehog`Sonic
Who is the main character of Final Fantasy VIII?`Squall Leonhart`Squall
What game mixed both Disney characters with Final Fantasy characters?`Kingdom Hearts
Who is the main character in Kingdom Hearts?`Sora
In the original Kingdom Hearts, who is Sora looking for?`Kairi
Who is the main character from Final Fantasy IX?`Zidane Tribal
In what series of video games did Master Chief appear?`Halo
What video game made the Golden Gun famous?`Goldeneye
Gran Turismo is exclusive to 1 console, what is it?`Sony Playstation`Playstation
Who is Harry Potter's best friend in the game "Harry Potter and the Chamber of Secrets"?`Ron Weasley
What role do you play in the game "Pacific Strike"?`American pilot
What famous monkey had a considerable role in turning Nintendo into the company they are today?`Donkey Kong
IN the "Final Fantasy X", where is blitzball played?`Underwater
What was the name of the four-armed sub-boss in the original "Mortal Kombat"?`Goro
In the Xbox game "Halo", what is the name of the main character?`Master Chief`spartan 117`john
Which famous skateboarder has his name on a skateboard video game series?`Tony Hawk
Which type of game is "Mortal Kombat"?`Fighting
In "Animal Crossing: Wild World", what wildlife is found in the town observatory?`Owl
At what level do you get the Hadouken Fireball in "Mega Man X"?`Armored Armadillo Stage
What color is the big truck pictured on the cover of "Excite Truck"?`Red
Who is the voice for 3DO's Gex?`Dana Gould
The game "Kingdom of Hearts" is the story of a boy of what name?`Sora
What was the last Ridge Racer" game in arcades before "Ridge Racer V"?`Rave Racer
How many years after the events of Soulcalibur IV do the events of Soulcalibur V take place?`17`17 years
What is the theme of the game "Golden Nugget 64"?`Gambling
In Vegas, what color is traditionally used for the zero in a roulette wheel?`Green
IN the official Monopoly rules, what happens when you land on "Free Parking"?`Nothing
Along with the Z, what title has the highest value (10) in Scrabble?`Q
In Monopoly, what is the rental on Boardwalk with one house?`200
How many possible opening moves are there in a game of draughts?`7
How many counters does a player start with in Backgammon?`15
In the Game of Life, what are the playing pieces that you move around the board?`Cars
Who is the aging hippie ex-marijuana farmer in "GTA: San Andreas"?`The Truth
"Call of Duty: Ghosts" is what number primary installment in the COD series?`Ten`10`Tenth`10th
What number in the series is "Medal of Honor: Frontline"?`Fourth`Four`4`4th
What part of a prehistoric tree grants invulnerability in "Uncharted 2: Among Thieves"?`Sap
What new button is featured on the PS4's Dualshock 4 controllers?`SHARE
The PS4, along with Xbox One and Wii U, is a part of what generation of video game consoles?`8th`8`eight`eighth
Who is the main protagonist of "Call of Duty: Ghosts"?`Logan Walker
Who is the main antagonist of "Battlefield 4"?`Admiral Chang
Who is the main character of "GTA: San Andreas"?`CJ`Carl Johnson
In "GTA: San Andreas", what is CJ's older brother's name?`Sweet
What popular PS3 game that spawned a sequel was narrated by Stephen Fry?`Little Big Planet
What Rockstar Game was the first to feature bullet time?`Max Payne
Who must Kratos kill in "God of War"?`Ares
Who is the main protagonist of "Final Fantasy X"?`Tidus
What was the last Mortal Kombat game for sixth generation consoles?`Armageddon
What game did Harmonix create when it lost the rights to the Guitar Hero franchise?`Rock Band
Who is Nathan Drake's estranged wife in the "Uncharted" series?`Elena Fisher
In the deathmatch mode of what game can you unlock William Shakespeare as a playable character?`Medal of Honor
In "Twisted Metal 2″, what does Krista Sparks drive?`Grasshopper
How many levels are there in the Tower of Orthanc in "Lord of the Rings: The Two Towers"?`20`twenty
What mode in "Gran Turismo" do you play to unlock new cars and tracks?`Simulation
What is the Helghast home planet in "Killzone: Shadowfall"?`Helghan
Who is the main character of "Battlefield 4″?`Daniel Recker
What new 4-player co-op mode is introduced in "Call of Duty: Ghosts"?`Extinction
In what survival horror game does Harry Mason search for his lost daughter?`Silent Hill
"Crash Bandicoot" is set on a trio of islands southeast of where?`Australia
Who published the game "1942" on the NES?`Capcom
"Donkey Kong 64" appeared on the Nintendo 64 in which year?`1999
Who is the owner of Lon Lon Ranch in the "Legend of Zelda" games?`Talon
In the "Banjo-Kazooie" games what type of animal in Banjo?`Honey Bear
Who kisses Mario on the nose at the end of "Super Mario 64"?`Princess Peach
In the earlier "Mario" games what is the character Princess Peach also known as?`Princess Toadstool
Which console did Nintendo release as their 3rd home console?`Nintendo 64
Pokemon first appeared on which Nintendo console?`Game Boy`Gameboy
Which Nintendo character is famous for being the first playable female hero in video game history?`Samus`Samus Aran
What was the name of "Castlevania" game released on the SNES?`Super Castlevania IV
What kind of game is "Dementium: The Ward" on the Nintendo DS?`Survival Horror
IN which game does Mario wear the Tanooki Suit which gives him the ability to fly?`Super Mario Bros 3
Which was the second title in the "Professor Layton" series on the Nintendo DS?`The Diabolical Box
In which game in the "Star Fox" series was the game character based rather than flight based?`Star Fox Adventures
Who is the main adversary in the Game Boy advance game "Zelda: The Minish Cap"?`Vaati`Vaati the Wind Mage
What is the companion release to "Pokemon Diamond" on the Nintendo DS?`Pearl
In the game "Paper Mario" what does the player have to collect for the main quest?`Star Spirits
What is the best selling game on the Nintendo Wii?`Wii Sports
In what year was popular video game "Halo 4" released?`2012
The first successful video game was "Pong", which was Atari's arcade version of what game?`Table Tennis
Name of the Mad Scientist who created deformed creatures in the video game Farcry?`Krieger
Who became the Real American Hero in the 1980s, when he battled COBRA?``G.I. joe`GI Joe
The Strong National Museum of Play has thousands of video games and it's in Rochester in what state?`New York
What does "RPG" stand for in the world of gaming?`Role Playing Game
In the original "Donkey Kong" arcade game, what was the ape's favorite weapon to use against Mario?`Barrel`Barrels
Final Fantasy VII was originally designed in what video game system?`Nintendo 64
What was the doomed console Apple released against the Nintendo 64, Sony PlayStation and Sega Saturn?`Apple Pippin
In what video game must a player maintain proper educational quotients, life expediencies, as well as pollution levels?`Sim City`Simcity
What is the name of town in Diablo?`Tristram
In what country can the town of Silent Hill be found?`United States
Name the Atlantean admiral in the campaigns of the popular game Age of Mythology?`Arkontos
Name of the protagonist of the video game Half-Life?`Gordon`Gordon Freeman
The Half Life symbol is what Greek letter?`Lambda
In what video game must a player collect four rune keys to prevent Shun-Niggurath form destroying the world?`Quake
Who is the son of Durotan, an Orcish chieftain in the World of Warcraft?`Thrall
What PopCap game required you to swap adjacent gems to form chains of three or more?`Bejeweled
How much time does Link have to defeat Skull Kid in Majora's Mask?`3 days
The barrel roll from Star Fox 64 isnt actually a barrel roll but what?`Aileron roll
What was the first name of the game developing company Atari?`Syzygy
What year did Facebook debut?`2004
By what name was Netscape known officially before it became Netscape?`Mosaic
Founded by Paypal employees, what site was bought by Google for $1.65 billion?`YouTube
Pescadero, Oceano and Indio are codenames of earlier version of which popular software?`Firefox
Which American Vice President referred to the Internet as an "Information Super Highway"?`Al Gore
"Relationship Matter" is the slogan of which social networking site?`Linked In`Linkedin
What year was the Nintendo Game Boy released in the US?`1989
In what year was the compact disk invented?`1965
What was the "beta version" of the Internet called?`ARPAnet
How is binary digit more commonly known?`Bit
Which company developed the famous first person shooter game 'Quake'?`id Software
Name the ebook develped by Barnes & Noble.`Nook
Who released the 2011 viral video 'Friday'?`Rebecca Black
Advertised briefly as the bloodiest video game in existence`mortal kombat
How many buttons (excluding the control pad) did the original NES controller have?`Four`4
How many fighters are playable in 'Street Fighter II'?`Eight`8
If you're killing a goomba, what game are you playing?`Super Mario Bros`Mario
In Chrono Trigger, who is the "Master of War?"`Spekkio
In 'Pac-Man' for the Atari 2600, how many points were each pellet worth?`One`1
In Sonic the Hedgehog, the character Knuckles is what species?`Echidna
In Super Mario Bros. 2, how many extra lives do you get for spinning three 7s on the slot machine?`Ten`10
In the game "Chrono Trigger," what is Lucca's mother's name?`Lara
In the game Joust, what animal was your mount?`Ostrich
In the original Contra, what gun would "S" get you?`Spread Gun
In the Sonic the Hedgehog series, what serves as your energy?`Rings`ring
Mega Man's traditional nemesis in the Mega Man series is whom?`Dr. Wily` Dr wily
Samus Aran is the femme-fatale of which series of games?`Metroid
The Hylians come from what game series?`The Legend of Zelda`legend of zelda`zelda
The Nintendo 64 was titled under what name during production?`Project Reality
The quote "You spoony bard!" is from what game?`Final Fantasy IV`Final Fantasy 4
What alternate dimension does Link find himself in in Majora's Mask?`Termina
What color is the 1-up mushroom in Super Mario Bros.?`Green
What does the acronym "NES" stand for?`Nintendo Entertainment System
What do you need to collect 100 of to get an extra life in Super Mario Bros.?`Coins
What is Mario's profession?`Plumber
What is the most powerful whip in 'Castlevania 2'?`Flame Whip
What is the name of the cloud-riding, glasses-wearing koopa in the Super Mario Bros. series?`Lakitu
What is the name of the Playstation controller that uses two analog joysticks?`Dual Shock`Dualshock
What is the name of the Star Fox Team's cocky wingman?`Falco Lombardi`Falco
What is your character's name in the 'Legend of Zelda' series?`Link
What member of the original StarFox team betrays the group to join StarWolf?`Pigma Dengar`Pigma
What number is the Pokemon "Scyther" in the Pokemon GameBoy games`123
What year was the first final fantasy created`1987
Which company made the original 'Donkey Kong'?`Nintendo
Which was the first console "Duke Nukem' game?`Duke Nukem 64
Who created the music for N2O: Nitrous Oxide?`The Crystal Method`Crystal Method
Who invented Tetris?`Alexey Pazhitnov`Alexey Pajitnov
Who is Mega Man's creator?`Dr. Light`Dr Light
Who is Mega Man's sister?`Roll
Who is the developer at Nintendo responsible for classics like Donkey Kong, Super Mario Bros., and The Legend of Zelda?`Shigeru Miyamoto`Miyamoto
Who is the famed musical director for Square's Final Fantasy series?`Nobuo Uematsu`Uematsu
Who is the first gym leader you fight in 'Pokemon' for the Game Boy?`Brock
Who is the main character from Nintendo's 'Earthbound'?`Ness
Who is the main character in the 'DeathQuest' series?`Lucretzia
Who is the third opponent in 'Super Smash Brothers'?`Fox McCloud`Fox
Who was the main character in the original 'Street Fighter'?`Ryu
What's the first video game to become a television show`pacman
What series is the theme "green hill zone" from?`Sonic The Hedgehog`Sonic
-677
View File
@@ -1,677 +0,0 @@
How long is a MLS soccer match?`90 Mins`90`90m`90 minutes
What was Sleeping Beauty's given name?`Aurora
"Neuro" means related to the what?`Brain
Luke, I am your ...?`Father
Who was the first person to do a 900 degree in skateboarding?`Tony Hawk
Which metal band has a mascot named "Eddie"?`Iron Maiden
Whose motto is 'We are a legion. We don't forgive. We don't forget'?`Anonymous
Whose painting is used on Woody Allen's 'Midnight in Paris' movie poster?`Van Gogh`Vincent van Gogh
Whose quote is "fly like a butterfly sting like a bee"?`Muhammad Ali
Who is the writer of 'Game of Thrones'?`George R.R. Martin`George R R Martin`GRRM
Whose album is ARTPOP?`Lady Gaga
Who is the singer and leader of Radiohead?`Thom Yorke
Who is the soccer player that has scored the most goals in the World Cups?`Klose
Who is the swimmer that has won 28 Olympic medals?`Michael Phelps
Who is the only person on The Simpsons that has 5 fingers?`God
Who is the father of modern electromagnetism?`James Maxwell`maxwell
Who is the main character in Grey's Anatomy?`Dr. Meredith Grey`Meredith grey`meredith
Who is Peeta Mellark in love with?`Katniss Everdeen`Katniss
Who is the famous phrase "I am your father" spoken to?`Luke Skywalker
Who co-starred with Jackie Chan in Rush Hour 2?`Chris Tucker
Who won the FIFA World Cup in South Africa 2010?`Spain
Who won the FIFA World Cup in 2002?`Brazil
Who won the 2012 Champions League?`Chelsea
Who were the first users of papyrus?`Egyptians`Egyptian`Egypt
Who was the philosopher who said 'I only know that I know nothing'?`Socrates
Who was the only actor to win an Oscar afterhis death?`Heath Ledger
Who wore the number 23 for the Chicago Bulls?`Michael Jordan
Who was the main actor in the movie Click?`Adam Sandler
What actress was Sam's girlfriend in the movie Transformers 1 and 2?`Megan Fox
What character was JD's best friend in the TV series 'Scrubs'?`Turk
Who was Brad Pitt's partner in the 1995 film 'Se7en'?`Morgan Freeman
Who was Brad Pitt's first wife?`Jennifer Aniston
Who voiced Woody in the "Toy Story" trilogy?`Tom Hanks
Who stars in the movie "I am legend"?`Will Smith
What character says the famous salute "Live Long and Prosper"?`Mr. Spock`mr spock`spock
Who said "Time is a flat circle"?`Nietzsche
Who said that "objects which have no resultant force are either stationary or moving at constant velocity"?`Isaac Newton`Newton
Who released the album 'AM'?`Arctic Monkeys
Who plays the crazy person in the movie '12 Monkeys'?`Brad Pitt
Who is Thor's Father?`Odin
Who is the king of the gods in Greek mythology?`Zeus
Who is the creator of characters including Spider Man and The Fantastic Four?`Stan Lee
Who is the creator of "Family Guy"?`Seth MacFarlane
Who is the "black sheep" in Family Guy?`Meg
Who is Superman's sweetheart?`Lois Lane
Who is SpongeBob SquarePants' best friend?`Patrick Star`Patrick
Who is Spider-Man?`Peter Parker
Who is Mario's brother?`Luigi
Who is Bart Simpson's best friend?`Milhouse
Who is Bruce Wayne?`Batman
Who is Ned Stark's youngest daughter in the TV series 'Game of Thrones'?`Arya Stark`Arya
Who invented the telephone?`Alexander Graham Bell`Bell
Who invented the world's first successful airplane?`Wright brothers
Who is the main character in "The Lion King"?`Simba
Who created Mickey Mouse?`Walt Disney
Who composed the music for the film 'Tron: Legacy'?`Daft Punk
"Bharathanatiyam" is the national dance of what country?`India
"Mr. Pink" is the alias of a character in which Quentin Tarantion film?`Reservoir Dogs
"Taipei" is the capital city of which country?`Taiwan
Adam Levine is the lead singer of which group?`Maroon 5
At what age did Mozart write his first opera?`Twelve`12
Bananas are rich in what?`Potassium
Complete the title of the Oscar-nominated film starring Tom Cruise, 'The Last ...'?`Samurai
Diamonds are an allotropic form of what element?`Carbon
Due to which element does acid become acidic?`Hydrogen
Edmonton is the capital of which province in Canada?`Alberta
The Winter Olympic Games are celebrated every how many years?`Four`4
Fe is the symbol for which element?`Iron
Fraser Island belongs to what country?`Australia
Freddie Mercury was the singer of what band?`Queen
French Fries originate from which country?`Belgium
Heliophobia is the fear of?`Sunlight`The Sun`Sun
"15, 30, 40, game" is used for the scoring system of what sport?`Tennis
How is the speed of boats measured?`Knots
How many bytes are there in 1 kilobyte?`1024
How many cards are there in a deck of cards?`52
How many chambers are there in the human heart?`Four`4
How many fingers does a Simpsons character have?`Four`4
How many hearts does an octopus have?`Three`3
How many hours are there in a year?`8760
How many players are there in a cricket game?`Eleven`11
How many players are there in a Quidditch team?`Seven`7
How much is 2 raised to tenth power?`1024
What was Walter White known as by the drug cartels in Breaking Bad?`Heisenberg
If you multiply the base by the height, and then divide by 2, you're calculating the area of what geometric figure?`Triangle
If you want to go Stockholm, what country are you in?`Sweden
In 'The Simpsons', what sort of animal is Itchy?`Mouse
In an e-mail, what does CC mean?`Carbon Copy
In Breaking Bad, what colour are Marie's appliances?`Purple
In chess, how many differents directions can the queen move if she is in one corner of the board?`Three`3
In computer science, what does the acronym LAN stand for?`Local Area Network
In computer terms, what does CPU stand for?`Central Processing Unit
In Disney's Tangled, what was the name of Repunzel's animal side kick?`Pascal
In Divergent, what is the real name of the character named "Four"?`Tobias
In Doctor Who, how many hearts does the doctor have?`Two`2
In Doctor Who, what is the name of the Doctor's tin dog?`K9
In Greek mythology which monster is half goat, lion and snake?`Chimera
In Greek mythology, who was the god of the Underworld?`Hades
In tennis, what's the name of the point won directly with a serve?`Ace
How many rings is on the Olympic flag?`Five`5
What colour is Spock's blood?`Green
Whose nose grew when he told a lie?`Pinocchio
If you had pogonophobia what would you be afraid of?`Beards
Which country grows the most fruit?`China
Which company is owned by Bill Gates?`Microsoft
Triskadeccaphobia is the fear of what?`The Number 13`13`Thirteen`Number 13
Ictheologists study what?`Fish
Who or what lives in a formicarium?`Ants
Which part of the human body contains the most gold?`Toenails`toenail
La Giaconda is better known as what?`Mona Lisa
What is the largest state by area in the USA?`Alaska
What martial arts name means "gentle way"?`Judo
In Japan what is Seppuku Hari Kari?`Suicide
In which country would you find the Negev desert?`Israel
Which character has been played by the most actors?`Sherlock Holmes
Name an element Marie and Pierre Curie discovered?`Polonium & Radium`Polonium`Radium
What are Sarte, Neitzsche, Russell and Decartes?`Philosophers`Philosopher
Barry Allen was the alter ego of which DC comic superhero?`The Flash`Flash
Linus Torwalds invented and wrote what?`Linux kernel`Linux
What is the staple food of one third of the worlds population?`Rice
Jagger, Richards, Wyman, Jones, Watts, Stewart - members of which band?`The Rolling Stones`Rolling Stones
What digit does not exist in Roman Numerals?`Zero`0
In Texas Hold'em, how many cards are dealt in 'The Flop'?`Three`3
In the British sci-fi show "Doctor Who", what's the name of the spaceship that can travel through space and time?`TARDIS
In the first Harry Potter film, what was the name of Neville Longbottom's pet toad?`Trevor
In The Simpsons, how many children does Apu have?`Eight`8
In the TV show "The Big Bang Theory", What is Sheldon's catch phrase?`Bazinga
In what country was Osama bin Laden found in 2011?`Pakistan
In what Disney movie could you listen to the song 'A Whole New World'?`Aladdin
In what field sport the winner is the player who has the lowest score?`Golf
In what movie does Arnold Schwarzenegger go to Mars?`Total Recall
In what state is Area 51 located?`Nevada
In what TV series did Steve Urkel appear?`Family Matters
In which direction does the sun set?`West
In which European city can you visit the Louvre Museum?`Paris
On "Sponge Bob Square Pants", what kind of animal is Sandy?`Squirrel
On the show "Spongebob Squarepants" Spongebob lives is which type of fruit?`Pineapple
What is 26 in Roman numerals?`XXVI
What chemical element gives red wine its color?`Iron
What chess piece has the most freedom of movement?`Queen
What city does Batman protect?`Gotham
What color are Peter Pan's clothes?`Green
What color is a smurf?`Blue
What company makes the Radeon video cards?`AMD`ATI
What do the Olympic rings represent?`continents
What does BBC stand for?`British Broadcasting Company
What does E stand for in the formula E=mc2?`Energy
What day of the week does does Garfield hate?`Monday
What does RAM stand for?`Random Access Memory
What does the Q in Q-tip stand for?`Quality
What element has an atomic number of 69?`Thulium
What famous author was known for "The Iliad" and "The Odyssey"?`Homer
What hand is the most valuable in poker?`Royal flush
What happens when a star explodes?`Supernova
What is a perfect game scoring in bowling?`300
What is Sherlock Holmes's brother's first name?`Mycroft
What is the chemical symbol for gold?`Au
What is the French word for Thank You?`Merci
What is the integral of cos(x)?`sin(x)+c
What is the largest planet in the solar system?`Jupiter
What is the last name of the family in the TV series 'Family Guy'?`Griffin
What is the name given to a word or phrase that reads the same backward and forward?`Palindrome
What is the name of Iron Man's computer assistant?`Jarvis
What is the name of Mickey Mouse's dog?`Pluto
What is the name of our galaxy?`Milky Way
What is the name of restaurant where SpongeBob works?`The Krusty Krab`Krusty Krab
What is the name of Ron's sister in "Harry Potter"?`Ginny
What is the name of the actor who portrayed Jesse Pinkman on the TV series Breaking Bad?`Aaron Paul
What is the name of the battle where Napoleon was finally defeated?`Waterloo
What is the name of the cat in Stuart Little?`Snowy
What is the name of the cat that goes after Jerry?`Tom
What is the name of the component used to store energy in an electric field?`Capacitor
What is the name of the dog on Family Guy?`Brian
What is the name of the dwarf in Game of Thrones?`Tyrion
What is the name of the dynasty in China in 15th century?`Ming
What is the name of the giant bunny in "Donnie Darko"?`Frank
What is the name of the Greek goddess of wisdom?`Athena
What is the name of the lawyer in Breaking Bad?`Saul
What is the name of the main character in 'The Legend of Zelda'?`Link
What is the name of the Olympian goddess of love and beauty?`Aphrodite
What is the name of the water Greek God?`Poseidon
What is the number of the platform to take the Hogwarts Express?`9 3/4
What is the official language in Iran?`Farsi
What is the opposite colour of red?`Green
What is the planet in the solar system whose size is closest to that of the Earth?`Venus
What is the sum of the numbers 1 to 10?`55
What kind of tree gives acorns?`Oak
What organ processes the sodium in the body?`Kidney
What philosopher said the famous sentence 'I think, therefore I am'?`Descartes
What planet is the closest to the Sun?`Mercury
What planet was named after the God of War?`Mars
What Power Ranger was the leader (color)?`Red
What protocol is used by a router to assign dynamic IP addresses?`DHCP
What the binary number 1010 in decimal?`10
What scientist is famous for his three laws of physics?`Newton
What species was Chewbacca?`Wookie
What sport do you play if you are part of the NHL?`Hockey
What substance is injected to people with diabetes to reduce their hyperglycemia?`Insulin
What superhero was portrayed by Christian Bale?`Batman
What team of the NBA made Michael Jordan famous?`Chicago Bulls
What was Eminem's first album called?`Infinite
What was Muhammed Ali's real name?`Cassius Clay
What was Spock's race?`Vulcan
What was the first movie produced by Pixar?`Toy Story
What was the name of the ceremony where a Samurai would kill himself?`Seppuku
What's the abreviation of 'picture element'?`Pixel
What's the adjective used for the planes flying faster than the speed of sound?`Supersonic
What's the band that has won the most Grammy awards?`U2
What's the biggest mammal?`Whale
What's the chemical symbol of salt?`NaCl
What's the name of Snoopy's owner?`Charlie Brown
What's the name of the bar tender in The Simpsons?`Moe
What's the name of the cup of the National Hockey League?`Stanley Cup`Stanley
What's the name of the dance step popularized by Michael Jackson?`Moonwalk
What's the name of the instrument used to measure atmospheric pressure?`Barometer
What's the name of the lead singer of the band Radiohead?`Thom Yorke
What's the name of the princess from Beauty`Belle
What's the name of the protagonist in the TV series "Breaking Bad"?`Walter White
What's the name of the traditional Japanese art of paper folding?`Origami
What are Ethan Kath and Alice Glass better known as?`Crystal Castles
What's the square root of 144?`12
Which is Canada's largest province?`Quebec
Which is the only bird that can fly backwards?`Hummingbird
Which is the only mammal in the world unable to burp?`Horse
Which organ is responsible for producing insulin?`Pancreas
Which real city is taken by Gotham city in Batman movies?`Chicago
Which rock group is famous for the song "Stairway to Heaven"?`Led Zeppelin
Which sea is known by its high levels of salt?`Dead Sea
Which sports brand uses as its slogan the phrase "Just do it"?`Nike
Which state is known as the potato state?`Idaho
What did the Scarecrow want from the Wizard of Oz?`A brain`brain
What is Keanu Reeves character's Real name in "The Matrix" (1999)?`Thomas Anderson`Tom Anderson
What is the name of Han Solo's ship in "Star Wars"?`The Millennium Falcon`millennium falcon
What kind of car was used as a time machine in the "Back To The Future" movies?`A DeLorean`delorean
What is the name of the sequel to "101 Dalmations"?`102 Dalmations
What was Indiana Jones's real first name?`Henry
What actor is famous for saying 'I'll be back'?`Arnold Schwarzenegger`schwarzenegger
Who is famous for saying 'Make my day'?`Clint Eastwood`eastwood
In what movie did we first hear 'May the force be with you'?`Star Wars
How many legs does a spider have?`Eight`8
Where was the game of golf invented?`Scotland
What U.S. city is also called 'The Windy City'?`Chicago
What is the name of the bad guy in Peter Pan?`Captain Hook`Hook
What is the river named most often in the Bible?`Jordan
What is the Scottish word for lake?`Loch
Which planet is closest to the sun?`Mercury
How many moons does Mars have?`Two`2
Where were the 2000 Olympics held?`Sydney`Australia
What did Sir Galahad search for?`The Holy Grail`holy grail
What is the Spanish name for the South American capital which means 'good air'?`Buenos Aires
What is the capital of Hungary?`Budapest
What name is Paul Hewson better know as?`Bono
How many members in the guy group N'SYNC?`Five`5
Name a member of N'SYNC whose name does NOT start with the letter "J"?`Chris or Lance`Chris`Lance
What year was the movie Ben Hur with Charlton Heston made?`1959
What is a Wyvern?`A Type of dragon`Type of dragon`dragon
What year were PopTarts invented?`1964
What African country is only 8 miles from Spain?`Morocco
Which people created the sundial?`The Egyptians`Egyptians
Who did Paris, the ruler of Troy, select as the most beautiful goddess?`Aphrodite
What are Pyxis, Puppis, and Pavo?`constellations
How many deserts are in or extend into the United States?`Five`5
Name the 500,000 square mile desert that Mongolia and China share?`Gobi
What is the type of computer virus that is named after a device of trickery used in a famous mythological war?`Trojan Horse`trojan
What year was the World Wide Web developed?`1990
In what Swiss city was the World Wide Web first developed?`Geneva
What color are the Majestic mountains in "America the Beautiful"?`Purple
Who made his debut in Action Comics No.1?`Superman
What color is the center stripe on the American flag?`Red
How many of the seven dwarf's names do not end with "y"?`Two`2
How many planets are between Earth and the sun?`Two`2
What country covers an entire continent?`Australia
Who was the first woman to win a Nobel Prize?`Marie Curie`Curie
Who wrote Les Misérables?`Victor Hugo`Hugo
Who wrote the novel Nineteen Eighty-Four?`George Orwell`Orwell
How many stars are there on the Austrailian flag?`Six`6
In the sequence 2, 3, 5, 7, 11, 13, what number comes next?`Seventeen`17
What is the capital of Nova Scotia, Canada?`Halifax
Which country uses a Yen for money?`Japan
What country is the Aswan High Dam in?`Egypt
What did they use for croquet mallets in "Alice in Wonderland"?`Flamingoes`flamingos
What is the closest star to the Earth?`The sun`sun
What does a sphygmomanometer measure?`Blood pressure
When measuring acidity and alkalinity, what does "pH" stand for?`per hydroxide
Which poison smells like almonds?`Cyanide
Zeus created warriors called Myrmidons out of what creatures?`Ants`Ant
Vulcan blood is based on what metal?`Copper
What is the name given to the change in pitch accompanied by an approaching or receeding sound source?`Doppler Effect`Doppler
Which Roman god had two faces?`Janus
Name Captain Nemo's submarine?`Nautilus
In what ancient city did Alexander the Great die?`Babylon
What does HDD stand for?`Hard Disk Drive
What does USB stand for?`Universal Serial Bus
What does WWW stand for?`World Wide Web
What does URL stand for?`Uniform Resource Locator
What was the name of the first wide-scale peer-to-peer music sharing application?`Napster
What company first invented the modern mouse?`Xerox
How many bits are in a byte?`eight`8
Solve for X: 5x+4=24`Four`4
How many sides does a 'icosohedron' have?`Twenty`20
What color reflects light from all parts of the visible spectrum?`white
How many states begin with the letter "A"?`Four`4
How many times did Dorothy click her heels together?`Tree`3
What color is Lisa's necklace on The Simpsons?`white
What color is a giraffe's tongue?`black
Curious George's friend was The Man in the what color hat?`yellow
What's the capital of the Netherlands?`Amsterdam
What nationality was Aladdin?`Chinese
What Dr. Seuss character steals Christmas?`The Grinch`grinch
What's the primary color with the shortest name?`Red
What is the name for a male witch?`Warlock
What type of monster dies from a silver bullet?`Werewolf
What is the name of Harry Potter's owl?`Hedwig
Loch Ness is located in what country?`Scotland
How many stones did David carry into battle with Goliath?`Five`5
"I soiled my armor I was so scared!" is from which movie?`Monty Python and the Holy Grail`Monty Python
"I've been dead once, already. It's very liberating." is from which movie?`Batman
What's the only country to have played in every World Cup soccer tournament?`Brazil
What's the common term for the layout of a computer keyboard?`QWERTY keyboard`qwerty
What city attracted Van Gogh and Toulouse-Lautrec to its bohemian Montmartre district?`Paris
What unit of sound intensity commemorates an inventor's last name?`Decibel
In blackjack, a hand of Ace and Nine can count as Ten or what?`Twenty`20
What's the official language of Brazil?`Portuguese
What does the koala eat exclusively?`Eucalyptus
What's the most abundant element in the earth's crust?`Oxygen
What's the most abundant element in the universe?`Hydrogen
What's the most abundant element in the atmosphere?`Nitrogen
The Shatt-el-Arab (River of Arabia) is the confluence of which two other rivers?`Tigris and Euphrates`euphrates and tigris
Name the two families in Romeo and Juliet?`Montague & Capulet`montague and capulet`capulet and montague`capulet&montague
Which singer joined Mel Gibson in the movie Mad Max: Beyond The Thunderdome?`Tina Turner
Vodka, Galliano and orange juice are used to make which classic cocktail?`Harvey Wallbanger
Which American state is nearest to the former Soviet Union?`Alaska
In which year did Foinavon win the Grand National?`1967
At which battle of 1314 did Robert The Bruce defeat the English forces?`Bannockburn
Consecrated in 1962, what city is the Cathedral Church of St. Michael located in?`Coventry
On TV, who did the character Lurch work for?`Addams Family
Which children's classic book was written by Anna Sewell?`Black Beauty
How many tentacles does a squid have?`Ten`10
Which reggae singing star died 11th May 1981?`Bob Marley
Characters Charlie Allnut and Rosie Sayer appeared in which classic 1951 movie?`The African Queen
What is converted into alcohol during brewing?`Sugar
Which river forms the eastern section of the border between England and Scotland?`Tweed
Which Briton won an ice-skating Gold at the Lake Placid Olympics?`Robin Cousins
In what year was Prince Andrew born?`1960
What is the national game of the Basques?`Pelota
TV commercials for Campari launched the career of which actress?`Lorraine Chase
If cats are feline, what are sheep?`Ovine
A red giant star typically evolves when its central hydrogen has converted to what gas?`Helium
In the song, Heartbreak Hotel is on which street?`Lonely Street
What Greek mythological creature sprang from the blood of Medusa?`Pegasus
What type of animal is a macaque?`Monkey
Blue Monday, said to be the most depressing day of the year, falls during which month?`January
The majority of the Amazon Rainforest is contained within which country?`Brazil
How many definite suicides occur in the plays of William Shakespeare?`13`thirteen
Bigarade sauce is traditionally made using which fruit?`Oranges`orange
Bras is French for which part of the body?`Arm`arms
In our solar system which is the 5th planet from the Sun?`Jupiter
Which letter is furthest to the right on a top letter row on a computer keyboard?`P
Bikram, Anusara, Kundalini and Iyengar are all types of which activity?`Yoga
What replaced the iron in the board game Monopoly?`Cat
People born on April 17th have which sign of the Zodiac?`Aries
Hinge, Saddle, Pivot and Gliding are all types of what in the human body?`Joint`joints
Gimpo International Airport is located in which Asian city?`Seoul
Siderodromophobia is the irrational fear of which mode of transport?`Trains`train
What was South Vietnams Ho Chi Minh City called before 1976?`Saigon
A titi is what type of animal?`Monkey
To what colour is the human eye most sensitive?`Green
Gabel is German for which item of cutlery?`Fork
In nature, Greco, Ostro, Libeccio and Sirocco are all types of what?`Winds`wind
What was disestablished as the state religion of Japan after WWII?`Shinto
What chemical element (Cu) is named after Cyprus?`Copper
Suva is the capital of which South Pacific island?`Fiji
James Augustus Hickey founded the first printed what in India in 1780?`Newspaper
Hombro is Spanish for which part of the body?`Shoulder
Lake Mamry and Lake Drawsko are in which European country?`Poland
What type of flesh does a pescatarian eat?`Fish
Which animal represents the deadly sin of envy?`Snake
Which Asian country is known as the Land of Smiles?`Thailand
Lonicera is the Latin name for which garden plant?`Honeysuckle
Sitophilia is the use of what for sexual arousal?`Food
Which is the only planet in our solar system to have water in three states of matter: solid, liquid and gas?`Earth
Which country is bordered by the Gaza Strip, Israel, Libya and Sudan?`Egypt
What type of creature is a cichlid?`Fish
People born on the 1st March have which sign of the Zodiac?`Pisces
Gorgonzola cheese is from which country?`Italy
Dydd Sadwrn is Welsh for which day of the week?`Saturday
What is the title of the 2001 film in which Russell Crowe plays mathematician John Nash?`A Beautiful Mind
In April 1966, Bobbi Gibb became the first woman to run the entire distance of which marathon?`Boston Marathon`boston
For his part in which 1953 film did Frank Sinatra receive a Best Supporting Actor Oscar?`From Here To Eternity
For which fruit is the US state of Georgia famous?`Peach
Which is the financial centre and main city of Switzerland?`Zurich
Who is the only man (at 2009) to have won motorbike and F1 car World Championships?`John Surtees
In which city was Martin Luther King assassinated in 1968?`Memphis, Tennessee`memphis`memphis tennessee
In which county is the UK prime minister's official country residence Chequers?`Buckinghamshire
What is the word used to describe an animal/plant that is both male and female?`Hermaphrodite
In which country did the Mau Mau uprising (1952-60) occur?`Kenya
What does a numismatist study or collect?`Coins
Who captained Jules Verne's submarine Nautilus?`Captain Nemo`nemo
The llama belongs to the family of animals commonly called what?`Camels
In which 1979 film was the spaceship called Nostromo?`Alien
The Sheffield Shield is competed for in which sport?`Cricket
What is infant whale commonly called?`Calf
Alan Minter was undisputed World boxing champion at which weight?`Middleweight`middle weight
Which Latin term, usually applied to legal evidence, means 'at first sight'?`Prima Facie
What is the alternative common name for a Black Leopard?`Panther
In which bay is Alcatraz?`San Francisco Bay`san francisco
In which Dickens novel was Miss Havisham jilted on her wedding day?`Great Expectations
What is an otter's home called?`Holt
Who had a 1985 hit with Saving All My Love For You?`Whitney Houston
In Roman mythology, Neptune is the equivalent to which Greek god?`Poseidon
What is the only English language single word anagram of the word crouton?`Contour
What is the other name for Wildebeest?`Gnu
In which State would you find the city of Birmingham?`Alabama
Complete the name of the American Football team: 'Washington ...........'?`Redskins
How old is a horse when it changes from a filly to a mare?`Four Years`4`four
Robin Hood & Friar Tuck appear in which well-known novel, by Sir Walter Scott?`Ivanhoe
What is Canada's national animal?`Beaver
Which is the smallest member of the flute family?`Piccolo
Which Bond villain has been played by Telly Savalas, Donald Pleasance, Charles Gray, and Max Von Sydow?`Blofeld
Mace is one of the spices obtained from the tree Myristica Fragrams - what is the other?`Nutmeg
What is the colour of the bull of an archery target?`Gold`yellow
UNHCR is the United Nation's High Commission for what?`Refugees
A palmiped's feet are more commonly called what?`Webbed
Which animal is known as 'The Ship of the Desert'?`Camel
How many red stripes are on the American national flag?`Seven`7
In the children's television show, what is the name of the yellow Teletubby?`Laa-Laa`laa laa
British athlete Duncan Goodhew is associated with which sport?`Swimming
What colour rose is the title of a Thin Lizzy song?`Black
English wrestler Shirley Crabtree Jr was better known by what name?`Big Daddy
What is the name of the monster's creator in the 1818 novel of the same name by Mary Shelley?`Frankenstein`Victor
How many seconds in an hour?`3600`Three thousand six hundred
The Trafford Shopping Centre is in which English city?`Manchester
Actress Gwyneth Paltrow named her first child after which fruit?`Apple
What is the name of the blood-sucking worm sometimes used by doctors?`Leech
Which country has the most time zones?`Russia
Fictional characters Clark Kent, Lois Lane and Jimmy Olsen work for which newspaper?`The Daily Planet
Which is the most powerful chess piece?`Queen
What is the name of Batman's sidekick and ward?`Robin
In which ocean is Tahiti?`Pacific Ocean`Pacific
What color is the 'Little Corvette' in the 1983 single by Prince?`Red
The port of Dover is in which English county?`Kent
During which month of the year is Hogmanay celebrated?`December
Sir Christopher Wren designed which famous London cathedral?`St Pauls`St. Paul`St paul`st. paul's
How is the number ten written in Roman numerals?`X
Which sign of the Zodiac is represented by the fish?`Pisces
What is 255 divided by 5?`51`fifty one
Which fictional character uses the expression 'Eat my shorts'?`Bart Simpson
In Greek mythology, who is the messenger god?`Hermes
What is the capital of Hungary?`Budapest
Which sport features line-outs, scrums and conversions?`Rugby
Which spice is known as the 'Master Spice'?`Pepper
Which 2009 animated film features a floating house suspended by helium balloons?`Up
The Golden Gate bridge is in which US city?`San Francisco
The Great Pyramid is in which country?`Egypt
Who was the father of English monarch Elizabeth I?`Henry VIII`King Henry VIII
Which fictional superhero goes by the name of Bruce Wayne?`Batman
There are how many in a gross?`144
Which fruit from Seville in Spain is usually used to make marmalade?`Orange
Singer Beyonce Knowles married which rapper in 2008?`Jay-Z
Who played Captain Jack Sparrow in the 'Pirates of the Caribbean' series of films?`Johnny Depp
What is the 'lead' in pencils made from?`Graphite`carbon
Pug, Boxer and Chow are all breeds of which animal?`Dog
Which body of water connects England and France?`The English Channel`english channel
What is the system of raised dots called which blind people use to read with their fingers?`Braille
Oil of Cloves is traditionally used to treat the pain in which part of the human body?`Teeth`tooth
What color 'Haze' is the title of a 1967 hit by Jimi Hendrix?`Purple
What is the capital of France?`Paris
Who is the voice of Princess Fiona in the Shrek series of films?`Cameron Diaz
'What's up Doc' is the catchphrase of which cartoon character?`Bugs bunny
Which US singer is known by the nickname J Lo?`Jennifer Lopez
On which fictional planet was Superman born?`Krypton
Who wrote the novel 'The Adventures of Huckleberry Finn'?`Mark Twain
Which nuts are traditionally used to make pesto sauce?`Pine`Pine nuts
The Sherlock Holmes Hotel is in which London street?`Baker Street`Baker
What colour, traditionally, are cabs in New York?`Yellow
Courgette is another name for which vegetable?`Zucchini
What is a group of lions called?`A pride`pride
What does ET stand for in the 1982 Steven Spielberg film?`Extra Terrestrial`extraterrestrial
Who was the first female Prime Minister of the UK?`Margaret Thatcher
Isabella 'Bella' Swan is the lead character in which series of vampire books?`Twilight
The terms Silver, Forked and Twister are all associated with which part of the body?`Tongue
What is the name of a small, ground-dwelling songbird and something done for fun?`Lark
Convict Magwitch appears in which novel by Charles Dickens?`Great Expectations
What is 1500 in Roman numerals?`MD
What is the national bird of New Zealand?`Kiwi
Which substance makes bread rise?`Yeast
Miel is French for which foodstuff?`Honey
What colour is The Old Kent Road on a Monopoly board?`Brown
How many seconds are there in an hour?`3600
Pavane, Polonaise and Polka are all types of what activity?`Dance
Which fictional superhero is known as 'The Man of Steel'?`Superman
Peter Parker is the alter-ego of which fictional superhero?`Spiderman
What is the name of the branch of biology that studies plants?`Botany
What are the native people of Australia called? `aborigine`Aborigines
Which US city did Scott McKenzie sing about in 1967?`San Francisco
Who is the Roman god of the sea?`Neptune
Which domestic animal was worshipped by the ancient Egyptians?`cat
What is the name of a long-bodied marine fish and a person who unscrupulously exploits or swindles others?`Shark
What is the national animal of Finland?`Brown bear
How many squares are on a chess board?`64`sixtyfour`sixty-four
In the human body, molars, canines and incisors are all what?`Teeth`tooth
What is a line called that goes straight from the center of a circle to the circumference?`Radius
Mount Etna is on which European island?`Sicily
The cup, or bowl, Jesus was said to have used at the Last Supper is known as 'The Holy ...'?`Grail
The musical "West Side Story" is based on which Shakespeare play?`Romeo and Juliet
Whose 1988 autobiography is entitled 'Moonwalk'?`Michael Jackson
What is the boiling point of water in degrees Farenheit?`212`two hundred and twelve
What is the first name of Bill and Hillary Clintons daughter?`Chelsea
How many days are there in the month of August?`31`thirtyone`thirty-one
What is the name of the fairy in the play Peter Pan by J M Barrie?`Tinker Bell
What type of drink is claret?`Wine
In humans, what is the name of the front cutting teeth?`Incisor`Incisors
What is the longest river in North America?`Missouri River`Missouri
What is the name of the daughter of cartoon character Fred Flintstone?`Pebbles
What is the highest prime number between 1 and 100?`97`ninetyseven`ninety-seven
How many grams in half a kilo?`500`five hundred
What colour is the skin of a courgette?`Green
Gotham City is associated with which fictional superhero?`Batman
What breed of dog is known as a 'Sausage dog'?`Dachshund
Thomas the Tank Engine lives on which fictional island?`Sodor
What is the capital of Sweden?`Stockholm
During which month of the year are the US Presidential elections held?`November
What is the name of a Telly Tubby and an Italian river?`Po
What was the most common password used online in 2012?`Password
What colour shirts did the Italian Fascists wear under the leadership of Benito Mussolini?`Black
Pepe le Pew is what type of cartoon animal?`Skunk
Which US city was named after St Francis of Assisi?`San Francisco
Which bird lays the largest eggs?`Ostrich
In the game of Clue, what colour is the piece that represents Mrs Peacock?`Blue
What is the largest gulf in the world?`Gulf of Mexico`the gulf of mexico
Melbourne is the capital of which Australian state?`Victoria
How many squares are on a Spear's Games Snakes and Ladders board?`100`one hundred
Prince Albert, husband of British monarch Queen Victoria, was born in which modern-day country?`Germany
Which animal is depicted as the face of breakfast cereal Coco Pops?`Monkey
The countries Ghana, Nigeria and Kenya are all in which continent?`Africa
What colour is superhero Batman's Batphone?`Red
'The Grand Ole Opry' in America is famous for what type of music?`Country music`Country
The caber, kilts and bagpipes are all associated with with European country?`Scotland
Ancient Egyptian Cleopatra was said to have been killed by what type of snake?`Asp
What is the boiling point of water in degrees Celsius?`100
Which is the only bird in the Chinese Zodiac?`Rooster
Which legendary English outlaw 'stole from the rich to give to the poor'?`Robin Hood
Who played Han Solo in the 'Star Wars' series of films?`Harrison Ford
Who sang at half time at the US Super Bowl in February 2013?`Beyonce
In July 2013, who revealed that they were the secret author Robert Galbraith?`J K Rowling`j.k. rowling'j. k. rowling`jk rowling
What is the capital of Canada?`Ottawa
What colour is Teletubby Po in the children's television series Teletubbies?`Red
In the Harry Potter series of books, what animal does Sirius Black turn into?`Dog
Which famous artist spent four years painting the ceiling of the Sistine Chapel in Rome?`Michelangelo
In British legend, what is the name of King Arthur's sword?`Excalibur
What was the first team sport included in the Olympic Games?`Soccer`football
The White Rose Shopping Centre is in which English city?`Leeds
Which designer (brand) created the Kelly bag?`Hermes
Arctic King, Saladin and Tom Thumb are which types of vegetable?`Lettuce
The Galápagos Islands are a provincial territory of which South American country, 600 miles away on the same equatorial latitude?`Ecuador
What is a baby oyster called?`Spat
What is Bill Clinton's middle name?`Jefferson
In which country are the Sutherland Falls?`New Zealand
What is the largest flat fish species?`Halibut
What's the oldest university in the USA?`Harvard
In architecture, what is a lancet?`Window
Who invented jeans?`Levi Strauss`Levi
Which European city had the Roman name Lutetia?`Paris
What is the green pigment found in most plants that is responsible for absorbing light energy?`Chlorophyll
Yeomen Warders at the Tower of London are commonly known by what other name?`Beefeaters
What is the birthstone for April?`Diamond
Who invented the revolver (handgun)?`Samuel Colt`Colt
In which ocean is Ascension Island?`Atlantic
What is the USA state capital of California?`Sacramento
The Latin prefix 'dino' (as in dinosaur) means?`Terrible
Argan oil, chiefly from Morocco, used in cooking and cosmetics, is extracted from what?`Tree nut
Mocha is coffee with added...?`Chocolate
What African nation is known in parts of Asia by the local names of two of its famous cities Marrakech and Fes?`Morocco
What drink from the Camellia sinensis plant has green, black and white varieties?`Tea
The dermis and cutis are parts of the human...?`Skin
The Arabic word 'al' (AL) roughly translates in English to mean...?`The
Tallow, Beeswax, Spermaceti, and Paraffin are traditionally used in making...?`Candles
The famous self-styled anarchist web-hacking group founded in 2003 is called...?`Anonymous
Name the controversial detention camp established in 2002 by the USA in Cuba?`Guantanamo Bay
Mixing yellow and blue paint produces...?`Green
Based on Greek legend, a constant uncontrollable threat, especially to a safe/desirable situation, is called The Sword of...?`Damocles
The planet Jupiter has how many known moons?`Sixty-seven`sixty seven`67`sixtyseven
Barber, Debussy, Glass and Holst were all?`Composers
Marfona, Charlotte, Jersey, and Desiree are all types of...?`Potato
Mach 1 refers to the speed of...?`Sound
The hook symbol joined under a letter (e.g., to the letter C, to soften the sound) is a...?`Cedilla`cedilha
Zika disease, identified 1947 and epidemic in S America commencing 2015, is mainly transmitted by infected...?`Mosquitoes`mosquito
Alphabet became in 2015 the holding company of which vast tech corporation?`Google
What does IHOP stand for?`International House of Pancakes
Barbara Millicent Roberts (1959 - present) from Willows Wisconsin is better known as what iconic figure?`Barbie
According to DC Comics history, who was 'Nightwing' when he was younger?`Robin
Breitling, Fortis, Hublot and Longines are makers of...?`Watches`watch
What girl's name beginning with A was punningly chosen first when the UK decided in 2015 to 'name' its storms?`Abigail
Kola, Palm, Pecan and Betel are types of...?`Nuts`nut
Parka, Harrington, Crombie, and Anorak are types of...?`Coats`Jackets
A slot/fruit machine was originally known as a One-Armed...?`Bandit
The modern confection originally from Ancient Egypt and the Malva plant which gave the French word mauve is?`Marshmallow
Hex/Allen, Slot, Cross, and Phillips are types of...?`Screwdrivers`screwdriver
Name the famous naval base and natural port on Oahu island, Hawaii, which featured in the US entry to World War II?`Pearl Harbor
The classical composers Bach, Brahms, Handel, Strauss, and Schumann are all what nationality?`German
Philadelphia, Cheddar, Feta, and Paneer are all types of...?`Cheeses`cheese
From Latin 'sapo', saponification is a process of producing...?`Soap
What word is a flat-bottom boat, a football kick, a glassmaking tool, and a dented base of a wine bottle?`Punt
Turkish Van, Chartreux, Scottish Fold and Ragdoll are types of...?`Cats`cat
What popular orange-coloured citrus fruit is surprisingly a hybrid of the pomelo (25%) and mandarin (75%)?`Orange
What is the sweet clear liquid by-product from soap manufacture, used in laxatives, explosives and antifreeze?`Glycerine
At 2015 the biggest cause of death among UK men under 50 was?`Suicide
The US 1899-founded Gideons International organization is famous for distributing ___ to 200 countries for free?`Bibles
Angiosperm (from Greek 'angeion', bottle) is a major scientific classification of land plants which have seeds and...?`Flowers
Considered the oldest living land animal at 183yrs in 2016, on St Helena island, Sth Atlantic, Jonathan is a Seychelles Giant...?`Tortoise
The German surname and name-suffix Baum referred to living near or resembling a...?`Tree
What is removed from natural yogurt to produce Greek yogurt (also called labneh [Arabic] and strained yogurt)?`Whey
The famous website franchise which offers entertaining educational 18 minute talks videos is abbreviated to...?`TED
What Latin word meaning equal expresses a quality standard/norm (on or below or above etc), alluding to golfing performance?`Par
What creature's name is from Greek 'river horse'?`Hippopotamus`hippo
What orange spice/colouring comes from the crocus plant, often associated with rice?`Saffron
Wikipedia's spherical logo features what symbol for Greek W, also a fatty acid name?`Omega`Ω
What hugely popular cereal crop has varieties including Arborio (Italy), Ambemohar (India), Doongara (Australia), and Uruchimai (Japan)?`Rice
The human body's energy chemical is...?`Glucose
Who created the 1970s persona Thin White Duke, and subsequent brands Glass Spider and Tin Machine?`David Bowie
What was the Russian city of Stalingrad renamed in 1961, after Europe's longest river?`Volgograd
Who wrote/directed the movies The Hateful Eight and Inglourious Basterds?`Quentin Tarantino
The famous Ancient Roman marble statue 'Venus Callipyge' or 'Callipygian Venus' literally and artistically represents "Venus/Aphrodite of the beautiful..."?`Buttocks`butt
What Anglicized-French word referring to prestige derives from the verb to press?`Cachet
The motor theft crime abbreviated in the UK to TWOC (hence the slang verb 'twocking') stands for what?`Taking Without Owner's Consent
Besides humans, the most widely distributed mammals on Earth are...?`Whales`whale`killer whale`orca
Who controversially interviewed the on-the-run Mexican drug lord 'El Chapo' Guzman for Rolling Stone Magazine just before his 2015 capture?`Sean Penn
What sort of creatures are fulmars and petrels?`Birds`bird
Vaquita porpoise 'maw', an illegally trafficked delicacy in Chinese cuisine, priced upwards of $10,000/kilo, is the creature's...?`Swim bladder
When moving a cat to a new home, it is popularly and mythically believed that rubbing (What?) on its paws will stop it wandering away?`Butter
The Ancient Egyptian mummy/afterlife figure Anubis is typically half-man and half-?`Dog`fox`jackal`wolf
The US-originating paramilitary/police term SWAT stands for what?`Special Weapons And Tactics
The long-standing currency of Kenya, Uganda, and Tanzania (at early 2000s) is the...?`Shilling
Human urine passes from each kidney via the ureter to (What?)?`Bladder
With over one billion registered users, China's (claimed) largest smartphone messaging app is...?`WeChat
The brunch dish of poached eggs, muffins, bacon/ham and hollandaise sauce, popularized in New York City is 'Eggs...'?`Benedict
The 2015 Star Wars sequel is subtitled 'The Force...'?`Awakens
An annelid is a...?`Segmented Worm`worm
Fish are typically referred to as being (What?)-blooded?`Cold
A rock containing a mineral that can be viably extracted for use is called an...?`Ore
The most poisonous fungi, which usually kills anyone eating it, is the...?`Destroying Angel
How many cathedrals are in mainland UK (at early 2000s)?`42`fourtytwo`fourty-two`fourty two
What is the highest grossing hand-drawn animated film in history?`The Lion King
A rivulet is a miniature...?`river`stream
What instant messaging service was acquired in 2014 for $16billion by Facebook?`Whatsapp
The main character in the movie The Nightmare Before Christmas is...?`Jack Skellington
American Linus Pauling, 1954 Nobel Prizewinner, conceived a helical structure fundamental to...?`DNA
What deceptively challenging culinary dish is named from French 'lemele' (knife blade - alluding to shape)?`Omelette
The fictional character Norville Rogers is better known by the nickname...?`Shaggy
From Latin, casein is the main protein in?`Milk`cheese
What were Victorian English postmen called because of their uniforms (type of bird)?`Robins`robin
The popular geeky children's TV series about an anthropomorphic aardvark whose theme song was sung by Ziggy Marley is?`Arthur
Bengal gram, Garbanzo, and Kabuli chana are all better known as what legume?`Chickpea
What discipline contains 'asanas' including names such as Half boat, Full boat, Tree, and Happy Baby?`Yoga
Genever is the old word for what alcoholic drink?`Gin
The Almeria region, driest in Europe, used for filming many famous Cowboy/Western films, is in what country?`Spain
Kuala Lumpar Airport is which nation's main air terminal?`Malaysia
Ares, equating to the Roman god Mars, is the Greek god of...?`War
Lisa Gherardini (aka Lisa del Giocondo) is better known as the...?`Mona Lisa
English playwright Chrisopher Marlowe coined the phrase 'The face that launched a thousand ships' in his tragedy Doctor Faustus when referring to which mythical Greek figure?`Helen of Troy`Helen of Sparta`helen
A disabling attack on a website known as a DDoS stands for a 'Distributed (What of What?)'?`Denial of Service`distributed denial of service
What legendary ruler visited King Solomon in the Bible, and became a metaphoric/ironic term for a female with delusions of grandeur?`The Queen of Sheba
What famous French endurance motor racing track/city is named after the early inhabiting Cenomani Celtic people?`Le Mans
A term for a dark shape against a brighter background is named after 18th century French author/politician Etienne de (Who?)?`Silhouette
What word for sadness referred historically to human black bile in the ancient medical theory of the Four Humours or Four Temperaments?`Melancholy
The 'twi' in the word twilight originally meant?`Two`2
Bammy (Jamaica), Bannock (Scotland), Blaa (Ireland), Bublik (Poland), and Boule (France) are types of...?`Bread
The Han ethnic people constitute about 90% of which country's population?`China
What often poisonous compound, CN, found in fruit seeds and stones, named from Greek for dark blue, comprises Carbon and Nitrogen?`Cyanide
Research (Newcastle University 2015) suggests that Type-2 diabetes is reversible by a very small reduction of fat in what human organ?`Pancreas
The Cuban/Puerto Rican music/dance 'Salsa' means what in Spanish?`Sauce
Aquae Sulis is the Roman name for what aptly renamed English spa city?`Bath
What metal element, symbol B, was named after its natural mineral form, popularised for its use as a cleaning product in the 1880s?`Boron
A Muscovite refers to a native of what city?`Moscow
What famous ancient city is on the river Tiber?`Rome
A prebiotic induces growth in humans (and other living hosts) of beneficial...?`bacteria
The CAC40 is a main stock market index of which country?`France
-190
View File
@@ -1,190 +0,0 @@
Who was the God of Nature and associated with sexuality?`Pan
Who is the Goddess of the Rainbow?`Iris
Who is the God of Wealth?`Hades
Who is the God of Fire?`Hephaestus
Who is the God of Medicine and the son of Apollo?`Asclepius
What was Zephyrus (or Zephyr) the god of?`West Wind
Who is the God of the Underworld?`Hades
Who is the God of the Sea?`Poseidon
Who is the Goddess of the Night?`Nyx
Who is the Goddess of the Hearth?`Hestia
Who is the God of Trade and Commerce?`Hermes
Who is the Goddess of Agriculture?`Demeter
Who is the God of Thieves?`Hermes
Who is the God of Travelers?`Hermes
Who is the Goddess of Childbirth?`Eileithyia
Who is the God of Music?`Apollo
Who is the God of the Sun?`Apollo
Who is the King of the Gods?`Zeus
Who is the God of the Sky?`Zeus
Who is the God of Lightning?`Zeus
Who is the God of Law and Order?`Zeus
Who is Queen of the Gods?`Hera
Who is the Goddess of Marriage?`Hera
Who is the Goddess of Fertility?`Demeter
Who is the Goddess of Wisdom?`Athena
Who is the Goddess of Science?`Athena
Who is the Goddess of Defense and Strategic Warfare?`Athena
Who is the God of Poetry?`Apollo
Who is the Goddess of the Hunt?`Artemis
Who is the Goddess of Virginity?`Artemis
Who is the Goddess of Animals?`Artemis
Who is the God of War?`Ares
Who is the Goddess of Love?`Aphrodite
Who is the Goddess of Beauty?`Aphrodite
Who is the God of the Forge?`Hephaestus
Who is the God of Wine?`Dionysus
Who is the God of Ecstasy?`Dionysus
Who is the God of Celebrations?`Dionysus
Who is the God of the Theatre?`Dionysus
Who is the Goddess of mazes?`Ariadne
Who is the Goddess of Victory?`Nike
Who is the Goddess of the War Cry?`Alala
Who is the God of Endurance and Astronomy?`Atlas
Who is the primordial personification of the Earth?`Gaia
Who is the Priordial God of the Sky?`Ouranos`Uranus
Who is the Goddess of Strife?`Eris
Which titan is associated with memory?`Mnemosyne
Which goddess was associated with the spirit of divine retribution against those who succumb to hubris?`Nemesis
Which god is associated with winged shoes?`Hermes
Which god is associated with the stork?`Hermes
Which god is associated with a pouch or purse?`Hermes
Which god is associated with the anvil?`Hephaestus
Which god is associated with the hammer?`Hephaestus
Which god is associated with the quail?`Hephaestus
Which god is associated with a trident?`Poseidon
Which god is associated with the cadaceus?`Hermes
Which god is associated with the laurel wreath?`Apollo
Which god is associated with a bird-tipped scepter?`Hades
Which god is associated with tidal waves?`Poseidon
Which god is associated with the dolphin?`Poseidon
Which godess is associated with the Spring?`Persephone
Which god is associated with horses?`Poseidon
Which god is associated with the lightningbolt?`Zeus
Which god is associated with the eagle?`Zeus
Which god is associated with the oak tree?`Zeus
Which god is associated with earthquakes?`Poseidon
Which goddess is associated with the owl?`Athena
Which goddess is associated with the olive tree?`Athena
Which goddess is associated with the peacock?`Hera
Which goddess is associated with the cuckoo?`Hera
Which virgin goddess is associated with domesticity?`Hestia
Which goddess is associated with the pomegranate?`Persephone
Which goddess is associated with the harvest?`Demeter
Which goddess is associated with grain or wheat?`Demeter
Which goddess is associated with flowers?`Persephone
Which goddess is associated with the poppy?`Demeter
Which god is associated with the swan?`Apollo
Which god is associated with prophecy?`Apollo
Which goddess is associated with deer?`Artemis
Which goddess is associated with hounds?`Artemis
Which goddess is associated with the cypress tree?`Artemis
Which god is associated with bloodshed?`Ares
Which god is associated with the spear?`Ares
Which god is associated with the vulture?`Ares
Which goddess is associated with the dove?`Aphrodite
Which goddess is associated with myrtle?`Aphrodite
Which goddess is associated with the rose?`Aphrodite
Which god is associated with the grapevine?`Dionysus
Which god is associated with a cup?`Dionysus
Which god is associated with the panther?`Dionysus
Which god is associated with the pinecone?`Dionysus
Who is the wife of Hephaestus?`Aphrodite
Who is the only Olympian god with a mortal mother?`Dionysus
Who was Dionysus' mother?`Semele
Who had an affair on her husband with Ares?`Aphrodite
Who was the mother of Achilles?`Thetis
Who lost the contest for Athens to Athena?`Poseidon
Who made Apollo's lyre?`Hermes
From whom did Hermes steal cattle?`Apollo
Who is Apollo's twin?`Artemis
Who is Amiphitrite's husband?`Poseidon
Who is Apollo and Artemis' mother?`Leto
Who was born from Zeus' head?`Athena
Who is the eldest son of Cronus and Rhea?`Hades
Who is Hades' wife?`Persephone
Who is Persephone's mother?`Demeter
Who is Persephone's father?`Zeus
Who is the eldest of the Olympians?`Hestia
Who is the youngest of the Olympians?`Dionysus
Which god is the patron of Delphi?`Apollo
Who is Hera's husband?`Zeus
Which god is a cripple?`Hephaestus
Who is the Messenger of the Gods?`Hermes
Who is the son of Zeus and Danae?`Perseus
Who are the children of Zeus and Themis?`The Fates`fates
Who are the children of Zeus and Eurynome?`The Graces`graces
Who is the son of Zeus and Maia?`Hermes
Who are the children of Zeus and Mnemosyne?`The Muses`muses
Who is the son of Zeus and Alcmene?`Heracles`Hercules
Who is the son of Zeus and Semele?`Dionysus
Who killed the Minotaur?`Theseus
Who killed the Gorgon Medusa?`Perseus
What creature was half bull and half man?`Minotaur
Which hero completed 12 labors?`Hercules`Heracles
Which hero was invulnerable everywhere except his heel?`Achilles
Who gave Theseus magic thread to help him in the labyrinth of the Minotaur?`Ariadne
Who created the labyrinth of the Minotaur?`Daedalus
Who punished Minos for refusing to sacrifice a white bull?`Poseidon
Who does Hera turn into a cow after Zeus falls in love with her?`Io
Who is punished in Tartarus for killing his son and attempting to feed him to the Gods?`Tantalus
Who is punished in Tartarus by being forced to roll a boulder up a hill for an eternity?`Sisyphus
What monster looks like a lion with the head of a goat on its back and a tail with a snake's head?`Chimera
What serpentine monster with multiple heads was killed by Heracles?`Hydra
What monster was half woman and half snake?`Echidna
Who bragged that her many children were better than Leto's two (Apollo and Artemis) and was punished by Apollo killing all of her sons and Artemis killing all of her daughters?`Niobe
Which creature had the head of a human, the body of a lion, and the wings of a bird?`Sphinx
Who was the most beautiful woman in the world?`Helen of Troy`Helen`Helen of Sparta
Which hero had a prophecy which foretold that he would kill his father and marry his mother?`Oedipus
Which nymph was pursued by Apollo until she was turned into a laurel tree by her father?`Daphne
Who is the ferryman who guides souls across the river Styx?`Charon
What creature guards the entrance to the Underworld?`Cerberus
Where are the Titans imprisoned?`Tartarus
What type of tree was Adonis born from?`Myrrh
Who saved Andromeda from Cetus?`Perseus
Who created mankind?`Prometheus
Who stole fire from Mount Olympus?`Prometheus
Who represents the idea of "afterthought"?`Epimetheus
Who represents the idea of "forethought"?`Prometheus
Who was punished and condemned to forever hold up the sky?`Atlas
Who was the mother of King Minos?`Europa
Who was abducted by Zeus in the form of a white bull?`Europa
Who flew too close to the Sun and fell to his death when his wings melted?`Icarus
Which goddess fell in love with Endymion?`Selene
Which nymph was punished by Hera by being made to only be able to repeat the last few words spoken to her?`Echo
Who fell in love with his own image?`Narcissus
Who were the race of women warriors?`Amazons
Which Amazon participated in the Trojan War?`Penthesilea
Which daughter of Ares was the Amazon whose girdle Heracles was tasked with retrieving?`Hippolyta
Who led the expedition for the Golden Fleece?`Jason
Which sorceress helped Jason on his quest?`Medea
Which sorceress kept Odysseus for a year?`Circe
Who was the blind prophet of Apollo at Thebes?`Tiresias
What was the name of the white winged divine stallion?`Pegasus
Who was Pegasus' mother?`Medusa
Which of the three Gorgon sisters was mortal?`Medusa
Who boasted that her daughter Andromeda was more beautiful than the Nereids?`Cassiopeia
What monster encountered by Odysseus was on one side of a narrow channel of water and associated as a beautiful serpentine maiden?`Scylla
Which monster encountered by Odysseus was on one side of a narrow channel of water and is depicted as a whirlpool?`Charybdis
Who abducted Helen of Troy and started the Trojan War?`Paris
Who was Castor's twin?`Pollux
Who judged the divine contest between Aphrodite, Athena, and Hera?`Paris
Who threw the Apple of Discord?`Eris
Which goddess did Paris choose to give the Apple of Discord to?`Aphrodite
Who is Troy's greatest warrior in the Trojan War?`Hector
Whose body does Achilles drag around Troy after killing him?`Hector
Where was Achilles dipped to make most of him immortal?`Styx
Who is Achilles' companion who is killed by Hector while wearing Achilles' armor?`Patroclus
Who was the wife of Hector?`Andromache
Who famously only agreed to marry if her suitor could beat her in a foot race?`Atalanta
Who was the only female in the Argonauts?`Atalanta
What were the heroes who followed Jason called?`Argonauts
Who is the King of Troy during the Trojan War?`Priam
Who is Helen of Troy married to?`Menelaus
Who had the power of prophecy but was cursed so that no one would believe her prophecies?`Cassandra
Whose story is told by the epic poem "The Odyssey"?`Odysseus
Who wrote the epic poem "The Iliad"?`Homer
According to Hesiod's "Theogeny", who was born from Uranus' penis which had been cut off?`Aphrodite
Where was the famous female poet Sappho from?`Lesbos
Who wrote the "Works and Days"?`Hesiod
Who wrote "The Histories"?`Herodotus
-219
View File
@@ -1,219 +0,0 @@
What is the name of the driver of the Knight Bus?`Ernie Prang
In which month of the year is Harry Potter's birthday?`July
What is the Hogwarts School motto in English?`Never Tickle a Sleeping Dragon
In the Harry Potter, who killed Cedric Diggory in the Goblet of Fire?`Peter Pettigrew
Which late actor played Albus Dumbledore in the first two Harry potter films?`Richard Harris
Which animal is Hagrid allergic to?`Cats
What is the name of the wizarding pub in London in the Harry Potter novels?`The Leaky Cauldron
What make and model is the Weasley familys flying car?`Ford Anglia
What is the name of Harry Potters pet owl?`Hedwig
The Hogwarts Express leaves which London station?`Kings Cross
To get into the Ministry of Magic via the visitors entrance, what number must be dialed?`62442`MAGIC
What is the name of the actor who plays Harry Potter in all the films?`Daniel Radcliffe
What is the title of the third Harry Potter book?`The Prisoner of Azkaban
What does N.E.W.T stand for in examinations at Hogwarts School? `Nastily Exhausting Wizarding Test
What is the name of the team sport, played by seven players on each team?`Quidditch
Which animal is James Potter's 'Patronus'?`stag`A stag
What is the name of the Charms Master at Hogwarts School?`Filius Flitwick`flitwick`professor flitwick
Who destroyed the last remaining Horcrux?`neville`neville longbottom
What do Ron and Hermione use to destroy Helga Hufflepuff's cup?`basilisk fang
When Harry attended his hearing at the Ministry of Magic, what colour paper aeroplanes flew into the lift at Level Four?`pale violet`violet
How many Chocolate Frog cards does Ron estimate he has in Harry Potter and the Philosopher's Stone?`500`five hundred
In the epilogue of Harry Potter and the Deathly Hallows, what job does Harry have?`auror
What is the only antidote to Basilisk venom?`phoenix tears
What is the symbol for Gryffindor house?`lion`a lion
In Harry Potter and the Philosopher's Stone which Gringotts vault was the Philosopher's Stone kept in?`713`seven hundred and thirteen
What is the symbol for Hufflepuff house?`badger`a badger
What creatures feed on positive human emotions?`dementors`dementor
What was Tom Riddle's mother's maiden name?`Gaunt
How many points is the Golden Snitch worth?`150`one hundred and fifty
What secret name do Harry, Ron and Hermione use to refer to Sirius Black?`snuffles
What month is Ron's birthday?`March
Which of Ron's brothers is a Gryffindor Prefect in Harry's first year?`Percy`Percy Weasley
How many Sickles are in a Galleon?`17`seventeen
In Harry Potter and the Prisoner of Azkaban, who orders a cherry syrup and soda with ice and umbrella from the Three Broomsticks?`Professor Flitwick`Flitwick`Filius Flitwick
Who tells Harry and Ron that people can be a 'bit stupid' about their pets?`hagrid
What is the name of Dumbledore's phoenix?`fawkes
What is the symbol for Slytherin house?`snake`a snake
Who is unanimously elected leader of Dumbledore's Army?`harry potter`harry
What does Professor Lupin give Harry to eat after his encounter with a Dementor?`chocolate
How many goal posts are there on a Quidditch pitch?`six`6
How many brothers does Ron have?`5`five
What creatures does Charlie Weasley work with in Romania?`dragons`dragon
What does O.W.L. stand for?`Ordinary Wizarding Level
What patronus does Luna Lovegood have?`rabbit
What was Harry's first broomstick?`nimbus 2000
What was the name of the female elf Dobby liked?`winky
What is Harry's youngest son's name?`albus
What is the symbol for Ravenclaw house?`eagle`an eagle
What was James Potter's school nickname?`Prongs
What is the proper name for the potion "Liquid Luck"?`Felix Felicis
What is Tonks's first name?`Nymphadora
What kind of creature is Buckbeak?`hippogriff
Who did Harry take to the Yule Ball?`parvati patil
What is the form of Hermione's patronus?`otter
Who is Voldemort's servant?`peter pettigrew`pettigrew
Why did the Ministry stop using owls for interroffice memos?`droppings`owl droppings`the droppings
How many muggles see the flying car in Harry Potter and the Chamber of Secrets on Ron and Harry's way to Hogwarts?`7`seven
What is Luna Lovegood's fathers name?`Xenophilius Lovegood`xenophilius
Which of the Hogwarts founders created the Chamber of Secrets?`salazar slytherin`slytherin
What Animagus form is taken by Sirius Black?`dog
Which spell is used to unlock doors?`alohomora
What color were the flames that came out of the Goblet of Fire?`blue
On which O.W.L. exam did Harry Potter get his worst score?`history of magic
How many players are on a Quidditch pitch at one time in a match?`14`fourteen
What is the name of the bookstore where students buy their books?`Florish and Blotts
Who wrote "A History of magic"?`Bathilda Bagshot
What is the name for the Hogwarts lake?`Black Lake`the black lake
Who was Harry's first crush?`Cho Chang
Who gave Harry his first broom?`Professor McGonagall`McGonagall`minerva mcgonagall
What do Hermiones parents do for a living?`dentists`dentist
What is the name of Hermione's cat?`Crookshanks
Who does ginny go to the yule ball with?`Neville Longbottom`Neville
What is Professor Mcgonagall's transfiguraton form?`cat`a cat
What is the name of the dragon that Hagrid had?`Norbert
Who killed Bellatrix Lestrange?`Molly Weasley
What is voldemort's real full name?`Tom Marvolo Riddle
What are draco's parents' names?`Lucious and Narcissa`Narcissa and Lucious
Who is the headmaster of Durmstrang?`Igor Karkaroff`Karkaroff
Which arm is the dark mark on?`left
Which spell can levitate objects?`Wingardium Leviosa
Where does Hagrid take Harry to buy his school supplies?`Diagon Alley
What position does Harry play in Quidditch?`seeker
What subject does Professor McGonagall teach?`Transfiguration
Who is caretaker of Hogwarts?`Filch`argus filch
What is the name of Filch's cat?`Mrs. Norris
What is the name of the three-headed dog?`Fluffy
What gift does Hagrid give Harry in Diagon Alley?`hedwig`an owl`owl
A bezoar is a stone taken from the stomach of a ...?`goat
How many Horcruxes of Voldemort's are there?`7`seven
How many Unforgivable curses are there?`3`three
Who does Hermione go to the Yule Ball with in Harry Potter and the Goblet of Fire?`viktor krum`krum
Who kills Dumbledore?`snape`severus snape
Who became Seeker when Harry was banned from quidditch?`Ginny Weasley`Ginny
What color are unicorn foals?`pale gold`gold
Who has a famous acid-green Quik-Quotes Quill? `rita skeeter
What is the name of the vicious tree that Harry and Ron drove into in 'Harry Potter and the Chamber of Secrets'?`The Whomping Willow
Who was the Whomping Willow planted for?`remus lupin`lupin
Who has famous Rock Cakes? Hagrid
What is Hermione's middle name?`jean
How much was Dobby paid a month in the Hogwarts kitchen?`one galleon`1 galleon
What is Dumbledore's sister's name?`ariana
What did Dumbledore leave in his will for Ron?`deluminator
According to 'The Life and Lies of Albus Dumbledore', What was Doge's nickname?`dogbreath
What fruit must you tickle to get into the Hogwarts kitchen?`pear
Fill in the blank: "Holy _________, you're Harry Potter!!" - Hermione Granger?`cricket
What book does Hermione insist Ron and Harry read?`Hogwarts, A History
Who said it: 'We did it, we bashed them!"?`Peeves
Into how many pieces did Ron tear Percy's letter of congratulations on becoming a prefect before throwing it into the fire?`8`eight
Who is it: Deputy Headmisstress of Hogwarts?`professor mcgonagall`mcgonagall`minerva mcgonagall
Who is the 5th year Defense aganst the Dark Arts teacher?`Dolores Umbridge`professor umbridge
Who is also known as Padfoot?`sirius black
Who was a werewolf also known as mooney?`remus lupin
Who was nicknamed Wormtail, but Ron knew him as Scabbers?`peter pettigrew
Who was an animagus known as Prongs?`james potter
Who was petrified in book 2 and died in book 7?`colin creevey
What was the name of the charming young witch who was friends with Snape?`lily evans
Who is it: Keeper of Keys and Grounds at Hogwarts?`Hagrid
What is the name of the School of Witchcraft that Fleur Delacour attended?`Beauxbatons
What is the name of the school Victor Krum attended?`durmstrang
What is the name of the school that all witches and wizards attended in Britan?`hogwarts
What is the name of the place filled with witches and wizards and (if you can't apparate or haven't got any floo powder handy) can only be entered through the Leaky Cauldron?`Diagon Alley
What is the name of Voldemort's prized snake?`nagini
Who is Harry's cousin?`Dudley Dursley
What is the name of Harry's aunt?`petunia dursley
What is the name of Harry's uncle?`vernon dursley
Who is the Head of Hufflepuff?`professor sprout`sprout
Who is the Head of Ravenclaw?`Professor Flitwick`flitwick`filius flitwick
Who is the poltergist at Hogwarts?`peeves
What is the name of the twin that dies in the last book?`fred weasley`fred
What is the name of the twin that loses his ear in the last book?`george weasley`george
What is the name of the Weasley that (from book four until his apology in book seven) follows the ministry like a prat?`Percy weasley`percy
What is the name of the Weasley that works with dragons?`charlie weasley`charlie
What is the name of Ron's brother who works for Gringotts?`bill weasley`bill
What is the name of Ron's father?`arthur`Arthur Weasley
What is the name of the wizards prison?`azkaban
What is the name of the house that Luna Lovegood is in?`ravenclaw
What is the name for the house for people who didn't fit in any of the other houses?`hufflepuff
What house did the Sorting Hat suggest to Harry?`slytherin
What did Katie Bell touch that put her in Saint Mungos in year 6?`opal necklace
What is the last name of the three brothers who origanally owned the Deathly Hallows?`peverell
What is the name of the goons that follow Malfoy around as bodygaurds?`crabbe and goyle`goyle and crabbe
What is the term used for bodies bewitched to do as a Dark wizard bids?`inferi
What is the name of the landlord of the Leaky Cauldrons?`tom
What is the name of Draco's son?`scorpius
What is Mr. Malfoy's first name?`lucius
What did Hermione squeeze in Fred and George's room that punched her?`telescope
What was the name of Hagrid's half-giant brother?`grawp
What is the name of the sweet that makes you spew?`puking pastils
What did Lavender Brown call Ron?`won-won`won won
Who did Ron suddenly have an infatuation for, after accidentally eating some love potion meant for Harry?`romilda vane
Who in the 3rd year class wrote an essay on werewolves?`hermione`hermione granger
What is the name of the werewolf who bit Lupin?`fenrir greyback
What is the theme of the tapestry near the Room of Requirement?`trolls
What breed was Hagrid's pet dragon? `Norwegian Ridgeback
Who is the only one Peeves is afraid of?`The Bloody Baron
What animal's tail hair is the elder wand made of?`Thestral
What is the incantation that makes the dark mark appear?`Morsmorde
What is Cho Chang's Patronus?`swan
How many students are picked to become prefects from each house's fifth year house?`2`two
What is the age requirement for an Apparation License?`17
Who is the Hufflepuff ghost?`The Fat Friar
What is Padma Patil's Boggart?`cobra
What is the name of Neville's grandmother?`augusta`augusta longbottom
Where is the Hufflepuff common room?`kitchen
Where was the Voldemort's horcrux ring hidden?`Gaunt Shack
What page does Snape tell Harry's Defense Against the Dark Arts Class to turn to?`394
Who does Hermione try to turn into when using the Polyjuice Potion?`Pansy Parkinson
What did Dumbledore teach before he was Headmaster?`Transfiguration
In what country is Voldemort said to be hiding in from books 2-4?`Albania
In the movies Neville gives Harry Gillyweed before the Second Task. However, who gives it to him in the books?`Dobby
What color bubbles does Professor Flitwick make for Christmas in the first book?`Gold
What color is Tonks's hair when Harry first meets her? `purple
What is Buckbeak's alias?`Witherwings
What does the sign on Weasley's Wizard Wheezes say?`You-Know-Poo
What is the core of Cedric's wand?`Unicorn tail hair
Which unforgivable curse causes pain to the victim?`Crucio
Who is the Blacks' house elf?`Kreacher
Who gave Hermione her Time-Turner?`minerva mcgonagall`mcgonagall`professor mcgonagall
Which shop sells candy?`honeydukes
Who killed Alastor Moody?`voldemort`lord voldemort
Which unforgivable curse kills the victim?`Avada Kedavra
What flavor of ice cream does Hagrid buy Harry?`chocolate and raspberry`raspberry and chocolate
What form does the boggart take in the presence of Seamus Finnigan?`banshee
Which Quidditch team does Cho Chang support?`Tutshill Tornadoes
Who bows to Harry before he knows that he is a wizard?`Dedalus Diggle
What creature is hatched by putting a toad over a chicken's egg?`basilisk
Which type of dragon did Fleur Delacour have to face in the first atsk of the Tri-Wizard Tournament?`Common Welsh Green
Which one of the following subjects does Professor Vector teach?`arithmancy
What is Dumbeldore's patronus?`phoenix
What is considered Harry's 'trademark spell'?`Expelliarmus.
What is the core of Krum's wand?`dragon heartstring
Who was Dumbledore's predecessor as headmaster at Hogwarts?`Armando Dippet
What is Rowena Ravenclaw's aughter's name?`Helena
Many of the recipes used at Hogwarts are those of ___?`Helga Hufflepuff`hufflepuff
What house was Tonks in?`Hufflepuff
Which house was Umbridge in?`Ravenclaw
Educational Decree No. 30 declared that what wasn't allowed in the corridors?`Music
The Fat Friar was the Ghost of which house?`Hufflepuff
Who became the head of Slytherin house in the seventh book after Snape ran away (in the sixth book)? `Horace Slughorn`professor slughorn`slughorn
Who was the only death eater that was sorted into Gryffindor?`Peter Pettigrew`pettigrew
Who put Harry's name in the Goblet of Fire?`Barty Crouch Jr`barty crouch jr.
Who found Harry under his cloak on the train in Half Blood Prince?`Tonks
What creature is known to become violent when insulted?`hippogriff
What creature stopped Fleur from finishing the second challenge in the tri-wizard tournament?`Grindylows
What is the incantation for the spell that stuns people?`Stupefy
What spell removes your memory?`Obliviate
What is Ron Weasley's middle name?`Billius
From who does Hagrid borrow the flying motorbike he uses to deliver Harry to the Dursleys?`Sirius Black
How does one put Fluffy to sleep?`music
A wizard who can transform himself into an animal at will is called what?`animagus
The Slytherin common room is located where?`dungeons`the dungeons
Whose patronus is a goat?`Aberforth Dumbledore`aberforth
Sirius Black sends Harry what type of broom?`Firebolt
Hermione hides what artifact through most of the 3rd book/film?`Time turner
What is Severus Snape's mother's first name?`eileen
What magical plant does Harry use to breathe underwater in the 4th book?`gillyweed
What kind of ice cream treat did Harry Get at the zoo in the 1st book?`lemon ice pop
What was the name of the owl Percy got for becoming a prefect?`Hermes
How much Veela does Fleur DeLacour have in her?`1/4`quarter
-754
View File
@@ -1,754 +0,0 @@
Who says "Fight or be forgotten" when attacking?`Aatrox
Which champion is a member of the Darkin species?`Aatrox
Who says "Violence is elegance." (in game)?`Aatrox
Who created Tryndamere (in the lore)?`Aatrox
Who has a skill called "Dark Flight"?`Aatrox
Who says "Don't you trust me?" when picked in champion select?`Ahri
Who's a member of the Gumiho species?`Ahri
Who is the only female character with an Academy skin?`Ahri
Who has a Popstar skin?`Ahri
Whose dance is based on the dance from Run Devil Run by Girl's Generation (SNSD)?`Ahri
Ahri's release celebrated the launch of servers in which country?`South Korea
Who is the "Fist of Shadow"?`Akali
Who says "Another unworthy opponent." while attacking?`Akali
Whose dance is a reference to Beyonce's Single Ladies dance?`Akali
Who wields a pair of kamas?`Akali
Who was once a member of Zed's Order of Shadows?`Akali
Whose taunt is "You can't milk those."?`Alistar
Who is a member of the Minotaur species?`Alistar
Who has a Golden skin?`Alistar
Who was saved from The Fleshing by a young girl named Ayelia?`Alistar
Who has a free skin obtained by subscribing to Riot's Youtube channel?`Alistar
Who says "Let's find some friends." in game?`Amumu
Who used to have a skill called "Disgusting Sneeze"?`Amumu
Who has a Little Knight skin?`Amumu
Who does Nurse Akali give a shot to?`Amumu
Whose passive is called "Cursed Touch"?`Amumu
Who lives in the Ironspike Mountains?`Anivia
Who says "I shall endure." while attacking?`Anivia
Whose name is derived from a Latin word meaning "snow white"?`Anivia
Who froze Gnar?`Anivia
Who has a skill called "Crystallize"?`Anivia
Who is from the Voodoo Lands?`Annie
Who has the skill with the largest AP ratio?`Annie
Who is known as "The Dark Child"?`Annie
Who has a skill called "Molten Shield"?`Annie or Tibbers`Annie`Tibbers
Who is part of the faction "the Grey Order"?`Annie
Who is Avarosa' descendant?`Ashe
Who is the champion in the tutorial?`Ashe
Who says "I only need one shot!" while attacking?`Ashe
Who is Ashe married to?`Tryndamere
Who has the only non-ultimate ability with global range?`Ashe
Who has an Ashen Lord skin?`Aurelion Sol`aurelionsol
Whose name means "Golden Sun" in Latin?`Aurelion Sol`aurelionsol
Who is a servant to the Aspects?`Aurelion Sol`aurelionsol
Who creates the stars?`Aurelion Sol`aurelionsol
Who has a skill called "Comet of Legend"?`Aurelion Sol`aurelionsol
Who is Sivir related to?`Azir
Who has a Gravelord skin?`Azir
Who is the only champion who has only one option when leveling skills at level 1?`Azir
Who betrayed Azir?`Xerath
Whose shape resembles a Falcon after being in the Temple of the Falcon?`Azir
Who is the only champion that can C.C. Baron and Dragon?`Bard
Name a champion whose voice-over has no actual spoken words?`Rek'sai or Bard`Bard`Rek'sai`Reksai`rek sai
Who has two peg legs?`Bard
Whose passive is called "Traveler's Call"?`Bard
Who runs a dating service in the league?`Blitzcrank
Who says "Exterminate. Exterminate." while attacking?`Blitzcrank
Which champion used to have a skill that could kill poros?`Blitzcrank
Whose dance is a reference to the "Macarena"?`Blitzcrank
Who has a skin released to celebrate the release of the League of Legends Mac client?`Blitzcrank
Who has a skill called "Sear"?`Brand
Whose real name is Kegan Rodhe?`Brand
Who says "I'm on a short fuse." in game?`Brand
Who has an Apocalyptic skin?`Brand
Who froze Brand for many years?`Lissandra
Whose passive is called "Concussive Blows"?`Braum
Whose occupation is "Goat Herder"?`Braum
Who says "You hit like baby ram! No horns yet!" while attacking?`Braum
Who was the first champion to have a unique autoattack animation for turrets?`Braum
Who is the only champion who says something after recalling?`Braum
Who is Caitlyn's partner?`Vi
Who has a Safari skin?`Caitlyn
Who says "Time for a shakedown." in game?`Caitlyn
Who has the longest base range at level 1?`Caitlyn
Who uses cupcakes as a weapon?`Caitlyn
Who is also known as the Steel Shadow?`Camille
How old is Camille?`80`Eighty
What is Camille's last name?`Ferros
Whose family motto is "For family, I will give."?`Camille
Who says "Precision is the difference between a butcher and a surgeon." when picked?`Camille
Who does Cassiopeia betray?`Sivir
The Mythic Cassiopeia skin was released to celebrate the release of the server for which country?`Greece`Greek
Who has a skill called "Miasma"?`Cassiopeia
Who releases Renekton and Xerath?`Cassiopeia
Who says "There is no antidote for me." in game?`Cassiopeia
Who is the only champion from the Void with more than 6 letters in their name?`Cho'gath`chogath`cho gath
Who says "The daylight! It burns!" in game?`Cho'gath`chogath`cho gath
Who is "the Terror of the Void"?`Cho'gath`chogath`cho gath
Who has a Loch Ness skin?`Cho'gath`chogath`cho gath
Who is the only champion with two Legendary skins available for purchase in the store on a regular basis?`Cho'gath`chogath`cho gath
What does Corki fly?`Reconnaissance Operations Front Line (ROFL) Copter`Reconnaissance Operations Front Line Copter`ROFLcopter`ROFL copter
Who created Corki's plane?`Heimerdinger
Which champion has 3 legendary skins?`Corki
If Urfrider Corki crits, what does Urf throw?`Spatula
Name one of the owners of Piltover Customs?`Corki or Heimerdinger`Corki`Heimerdinger
Who was the first champion to have a recall animation?`Darius
Who is Darius' brother?`Draven
Between "The Blood Brothers", who is older?`Darius
Who is the "Hand of Noxus"?`Darius
Who says "I do not tolerate cowardice."?`Darius
Which faction did Diana belong to?`Lunari
Who says "Bring down the sun."?`Diana
Who has a Lunar Goddess skin?`Diana
Who is the antithesis to Diana?`Leona
Who has an ability called "Pale Cascade"?`Diana
Who is the Aspect of the Moon?`Diana
Who is known as the "Madman of Zaun"?`Dr. Mundo`Mundo`dr mundo`drmundo
What is Dr. Mundo's first name?`Edmundo
Who has a Corporate skin?`Dr. Mundo`Mundo`dr mundo`drmundo
What is Dr. Mundo use as a weapon on his Pool Party skin?`Ukelele
Which champion is apparently lactose intolerant?`Dr. Mundo`Mundo`dr mundo`drmundo
Who has a skin that was released to celebrate the server in Italy?`Draven
Whose name means "Hunter" in Old English?`Draven
Who has skin with a quote that references Sjokz ("Sjokz better interview me after this")?`Draven
Whose league page lists them as friends with themselves?`Draven
Who says "Man, I'm good."?`Draven
What is the Roman numeral carved into Ekko's bat?`XII`12`twelve
Where did Ekko get his weapon(his "bat")?`clock tower`clock`clock hand
Who thinks Ezreal is a poser?`Ekko
Who says "Time to start some trouble."?`Ekko
Who does Ekko tell to "Never go full robot."?`Viktor
Who can have the most movable pets on the map?`Elise
Whose real name is Elizabeth?`Elise
Who does Elise worship?`Vilemaw
Who has a skill called "Neurotoxin"?`Elise
What champion has the season 3 victorious skin?`Elise
Who has a Masquerade skin?`Evelynn
Whose title is the name of their old ultimate?`Evelynn (Agony's Embrace)`Evelynn
Who calls Ahri a "skank" and a "floozy" when using taunts?`Evelynn
Who killed Vayne's parents?`Evelynn
Who does Vayne refer to as "the Horned Woman"?`Evelynn
Who does Evelynn say "I can make you do a lot more than jingle, space man." in one of her taunts?`Bard
Aside from Evelynn, which champion could theoretically stay stealthed forever?`Teemo
Who found Wriggle's Lantern?`Ezreal
Who is the hermit shopkeeper on the Howling Abyss related to?`Ezreal
Who was the first champion to have an Ultimate skin?`Ezreal
Whose occupation is a cartographer?`Ezreal
Who is the only male Star Guardian?`Ezreal
Where did Ezreal find the amulet that allowed him to use magic?`Shurima Desert`Shurima
Who says "Time to get our hands dirty."?`Ezreal
Who is known as the "Harbinger of Doom"?`Fiddlesticks
Whose species is a scarecrow?`Fiddlesticks
Who has a Union Jack skin?`Fiddlesticks
What was Fiddlesticks' original occupation?`Executioner
Who says "Your bidding, master" when picked during champion selection?`Fiddlesticks
What is Fiora's last name?`Laurent
Who says "Insolent peasants!"?`Fiora
Who has a Nightraven skin?`Fiora
Who has a skill called "Bladework"?`Fiora
What is the name of Fiora's brother?`Ammdar
What is the name of Fizz's shark?`Chomper
Whose ult makes the corpses of small champions disappear?`Fizz
What does Fizz use as a weapon?`Seastone Trident
Who was born in the Guardian's Sea?`Fizz
Who says "I'll show them a watery grave."?`Fizz
Whose champion design is based on an axolotl?`Fizz
Who is also known as the "Walking National Monument"?`Galio
Who has a skill called "Justice Punch"?`Galio
Who created Galio?`Durand
Whose dance is from Beauty and the Beast?`Galio
What color is Galio in his legendary skin?`Red
Who is the only mage Galio likes?`Lux
Who does Captain Gangplank say "Prepare to be boarded." to?`Miss Fortune
Whose warship did Gangplank steal?`Swain
Who is Gangplank's ex-girlfriend?`Illaoi
Who has a skin that was released to celebrate the Brazil server?`Gangplank
Who eats fruit for one of their abilities?`Gangplank
Who incurred Zed's wrath after ransacking the Temple of the Jagged Knife?`Gangplank
What is Garen and Lux's family name?`Crownguard
Who is known as the "Might of Demacia"?`Garen
Who says "We are the vanguard."?`Garen
Who is Garen's love interest?`Katarina
Who can you get a free skin for by subscribing to Riot's twitter?`Garen
Who is known as "the Missing Link"?`Gnar
Whose age is about 4 human years?`Gnar
Who is the only Yordle with a tail?`Gnar
Whose name backwards references his weapon?`Gnar
Who tried to kill Gnar when he first awoke?`Rengar
Who is Gragas' drinking buddy?`Jax
Who owns Freljord's Avarosa Iceflow Glacier?`Gragas
Who has a Scuba skin?`Gragas
Who is known as the "Rabble Rouser"?`Gragas
Who says "If you're buying, I'm in!" when picked at champion select?`Gragas
What is the name of Graves' old gun?`Destiny
What is the name of Graves' new gun?`New Destiny
Who was Graves' partner in crime?`Twisted Fate
What is Graves' first name?`Malcolm
Who says "I ain't got time to bleed."?`Graves
Who is also known as the "Shadow of War"?`Hecarim
Who is the leader of the Iron Order?`Hecarim
Who killed Kalista?`Hecarim
Name one of the champions whose skull Headless Hecarim has on his belt?`Warwick or `Rengar`Warwick`Rengar
Whose joke is a reference to My Little Pony?`Hecarim
What is Heimerdinger's first name?`Cecil
Who created Master Yi's goggles?`Heimerdinger
Who gets the buff Eureka! when they get a pentakill?`Heimerdinger
Who has a Hazmat skin?`Heimerdinger
Who is known as the "Revered Inventor"?`Heimerdinger
If you were to destroy this champion's blades, he/she would die (according to lore)?`Irelia
Who has the highest potential tenacity in the game?`Irelia
Who is known as the "Will of the Blades"?`Irelia
Who says "This battle will be won."?`Irelia
Name one of the champions that has the Mantle of Decorum?`Irelia or Karma`Irelia`Karma
Who cannot damage any non-epic neutral monsters?`Ivern
What is the name of Ivern's summoned sentinel?`Daisy
Who felled the God Willow?`Ivern
Where was Ivern originally from when he was human?`Freljord
What does Ivern find scary?`Rift Herald
Who was once known as "the Cruel"?`Ivern
Who has the Victorious skin for season 2?`Janna
Who is known as the "Storm's Fury"?`Janna
What is Janna's last name?`Windforce
What is the name of Janna's bird companion?`Zephyr
Who is the only champion that can shield turrets?`Janna
Who says "For tranquility."?`Janna
Who is the "Exemplar of Demacia"?`Jarvan IV`j4`jarvan 4
Who says "Ours is but to do and die."?`Jarvan IV`j4`jarvan 4
Who has a skill called "Martial Cadence"?`Jarvan IV`j4`jarvan 4
Who impersonated Jarvan IV?`Leblanc
Who has a skin that references Lu Bu?`Jarvan IV`j4`jarvan 4
What does Jax use for a weapon (classic skin)?`Lamppost
What does Pax Jax weild as a weapon?`Cardboard Tube`Cardboardtube
Who has a Temple skin?`Jax
Who has a skill named "Relentless Assault"?`Jax
During one April Fools, Wriggle's lantern gained the passive to taunt which champion?`Jax
Who has the same dance reference as Jayce?`Malzahar
Who is Jayce's nemesis?`Viktor
Who helped Ezreal get into the restricted section of the Piltover library?`Jayce
Who was the 100th champion released?`Jayce
Who says "Our future will be bright."?`Jayce
Who is also known as the "Virtuoso"?`Jhin
Who does Jhin resent for also being an artist?`Sona
Who says "I live for the applause, you will die for it." as a direct reference to Lady Gaga?`Jhin
What is the name of Jhin's gun?`Whisper
Who has a skill called "Curtain Call"?`Jhin
Who says "I accidentally did that on purpose."?`Jinx
What is the name of Jinx's smaller gun?`Pow-pow`pow pow
What is the name of Jinx's bigger gun?`Fishbones
What is the name of Star Guardian Jinx's white gun?`Shiro
What is the name of Star Guardian Jinx's black gun?`Kuro
Who has a Firecracker skin?`Jinx
Who used to have a crush on Jinx before she went crazy?`Ekko
Who is related to the Ruined King (Blade of the Ruined King)?`Kalista
Who has the skill with the highest AD ratio in the game?`Kalista
Name one of the two champions whose dance is a reference to Game of Thrones?`Kalista or Riven`Kalista`Riven
Who has a skill called "Pierce"?`Kalista
Who says "You will never suffer enough!"?`Kalista
Who is known as "the Enlightened One"?`Karma
Who is the Duchess of Ionia?`Karma
Who has a Sakura skin?`Karma
Who has a skill called "Renewal"?`Karma
Who used to wield fans?`Karma
Who says "We all have a place among the divine. We have only to accept it."?`Karthus
Who has a skill called "Defile"?`Karthus
Who is the lead singer of the band "Pentakill"?`Karthus
Who does Karthus follow (in a worshipping manner)?`Kindred
Who has a Phantom skin?`Karthus
Who has a skill called "Void Stone"?`Kassadin
Who has followers called "The Preservers of Valoran"?`Kassadin
Who is trying to protect Valoran from the Void?`Kassadin
Who captured Kassadin's daughter?`Malzahar
Who says "You are null and void."?`Kassadin
Who is Katarina's sister?`Cassiopeia
Who is the head of the Du Couteau House?`Katarina
Who does Katarina treat as an emotional punching bag?`Talon
Who has a Red Card skin?`Katarina
Who has a skill called "Voracity"?`Katarina
Who is Kayle's sister?`Morgana
What champion has the same voice actress as Kayle?`Soraka
Which champion is the only champion capable of giving full invulnerability to damage?`Kayle
Who is the only female champion with a Riot skin?`Kayle
Who says "Are... You sure you're not in the wrong league?" as a taunt?`Kayle
Who is the band Pentakill's back up singer?`Kayle
What is the name of Kayn's weapon?`Rhaast
What is Kayn's first name?`Shieda
Who has a skill called "Blade's Reach"?`Kayn
What species is Kayn?`Human
What country was Kayn born in?`Noxus
Who is the "Heart of the Tempest"?`Kennen
Who has a Deadly skin which is a parody of Deadpool?`Kennen
Who says "The eyes never lie." when picked during champion select?`Kennen
What weapon does Arctic Ops Kennen use?`Kunai
Whose dance is a reference to an airflare?`Kennen
Who is known as the "Voidreaver"?`Kha'zix`Khazix`kha zix
Who has a skill called "Leap"?`Kha'zix`Khazix`kha zix
Who is Kha'zix's rival?`Rengar
Who says "change is good"?`Kha'zix`khazix`kha zix
Who is the only Voidborn champion without a True Damage component to their skillset?`Kha'zix`Khazix`kha zix
Who is part of the Spirits species?`Kindred
Aside from Kindred, who else's champion design is based on the idea of "Yin and Yang"?`Karma
Who has a Shadowfire skin?`Kindred
The "Tally-men" are followers of whom?`Kindred
Whose lore tells the story of Magga, a famous actress?`Kindred
Who has a skill called "Dance of Arrows"?`Kindred
What does Kled's secondary bar measure?`Courage
What is the name of Kled's friend and mount?`Skaarl
Who is also known as "The Great Hussar", "The Mountain Admiral", "The High General Marshal Sergeant", "Lord Colonel Major Centurion", "Rear Forward Brigadier Admiral", "Forward Admiral Major", "Sir Admiral Major", "Lieutenant Sergeant Commodore", "Sergeant General Colonel", "Sergeant Double Admiral", "High Major Commodore of the First Legion Third Multiplication Double Admiral Artillery Vanguard Company", and "Lord Major Admiral of the Second Legion's Forward Artillery-Cavalary Multiplication"?`Kled
What nation is Kled from?`Noxus
What immortal species is Kled's mount?`desert drakalops
Who says "Terror coming...daddy coming!"?`Kog'maw`kogmaw`Kog maw
Who has a Reindeer skin?`Kog'maw`kogmaw`Kog maw
Who is the "Mouth of the Abyss"?`Kog'maw`kogmaw`Kog maw
Who has an ability called "Icathian Surprise"?`Kog'maw`kogmaw`Kog maw
Whose dance is based on the Michigan J. Frog dance?`Kog'maw`kogmaw`Kog maw
Who says "Time to make an appearance."?`Leblanc
Whose name means "The White" in French?`Leblanc
Whose real name is Evaine?`Leblanc
Who is hunting Leblanc?`Kalista
Whose passive makes them stealth for 1 second?`Leblanc
What did Lee Sin want to become before he became a monk?`summoner
Who lit themselves on fire to protest Noxus?`Lee Sin`leesin
Who says "Their heartbeats quicken."?`Lee Sin`leesin
Who has a passive skill called "Flurry"?`Lee Sin`leesin
Who has a skin to celebrate the launch of League of Legends in Thailand?`Lee Sin`leesin
Who says "Twilight fades."?`Leona
Who was Leona's childhood friend?`Pantheon
Who has a skill called "Eclipse"?`Leona
What accessory reduces the amount of damage done by Leona's passive by 1?`sunglasses
What faction is Leona a part of?`The Solari`Solari
Who is the Aspect of the Sun?`Leona
What species is Lissandra?`Iceborn
Who lives in the Frostguard Citadel?`Lissandra
Aside from Lee Sin, who else is blind?`Lissandra
Who has the only in-game monologue?`Lissandra
Who is the only champion in game to have a target skill that can be self-cast but not ally-cast?`Lissandra
Who is Lucian's enemy?`Thresh
What was the name of Lucian's wife?`Senna
Who is also known as "The Purifier"?`Lucian
Whose occupation is "Undead Hunter"?`Lucian
Who says "Everybody dies. Some just need a little help." when picked in champion select?`Lucian
Who says "Please to meet you!" when picked in champion select?`Lulu
What is the name of Lulu's fae spirit companion?`Pix
Who is the only champion from the Glade?`Lulu
Who is the only champion with a Polymorph?`Lulu
In the Bittersweet Lulu skin, what does her Whimsy turn her enemies into?`Cupcakes`cupcake
Who says "Focus on the battle."?`Lux
Who has an Imperial skin?`Lux
Who considers Lux a rival in love?`Zoe
Who was the original Star Guardian?`Lux
Who is the only female with a commando skin?`Lux
Who is Lux supposedly dating?`Ezreal
Whose ult was originally named "Finales Funkeln"?`Lux
Who has a skin that is a reference to the anime Sailor Moon?`Lux
Who is allied with Maokai?`Malphite
Who has a skill called "Brutal Strikes"?`Malphite
Who has the only skill in the game that does AD but scales with AP (and armor)?`Malphite
Who says "I'm moving as fast as I can." in game?`Malphite
What species is Maokai?`Treant
Who has the highest base AD at level 1?`Maokai
Whose name is an anagram of "I am Oak"?`Maokai
Who has a skill called "Arcane Smash"?`Maokai
Name one of the two champions with the highest base armor at level 18?`Maokai or Poppy`Poppy`Maokai
Whose name is a pun on the word Mastery?`Master Yi`masteryi
Whose dance speed increases with their movement speed?`Master Yi`masteryi
Who wears the "Seven Lenses of Insight"?`Master Yi`masteryi
Name one of the two champions with the highest movement speed in the game?`Pantheon or Master Yi`Pantheon`Master Yi`masteryi
Who says "My blade is yours." when picked in champion select?`Master Yi`masteryi
What is the name of Miss Fortune's ship?`The Syren`Syren
What is Miss Fortune's first name?`Sarah
Who killed Miss Fortune's parents?`Gangplank
Who has the least base AD at level 18?`Miss Fortune
What are the names of Miss Fortune's pistols?`Shock and Awe
Whose name means the "Murder Emperor" in German?`Mordekaiser
Who has the longest DoT (damage over time) debuff in the game?`Mordekaiser
What is the name of Mordekaiser's mace?`Nightfall
Who is also known as "the Iron Revenant"?`Mordekaiser
Who says "You only need to click once, fool!" in game (breaking the fourth wall)?`Mordekaiser
Who plays guitar for the band "Pentakill"?`Mordekaiser
Who says "We'll bring them pain." when picked during champion select?`Morgana
Who has a skin that was released to celebrate the Latin America server?`Morgana
Who has the highest base AD among ranged champions at level 18?`Morgana
Who owned a bakery in Noxus called "Sinful Succulence" that was shut down by the Valoran Department of Health and now runs a food cart?`Morgana
Who has the season 4 Victorious skin?`Morgana
Who says "People and their air..."?`Nami
Who is a member of the Marai species?`Nami
As the Tidecaller, it is Nami's duty to retrieve what from the landdwellers?`Moonstone
Whose name means "Wave" in Japanese?`Nami
As a reference to The Little Mermaid, searching what word in the shop will show Boots of Speed for Nami?`Hat
Whose name means "Nose" in Latin?`Nasus
Whose dance is a reference to Snoop Dogg's "Drop it like it's hot" dance?`Nasus
Who is Nasus' brother?`Renekton
Whose name comes from the Greek word for "Knowledge"?`Nasus
Who is also known as the "Curator of the Sands"?`Nasus
Whose name means "sailor" in Greek?`Nautilus
Whose passive is called "Staggering Blow"?`Nautilus
Who says "The endless march." in game?`Nautilus
Whose name is a marine species of cephalopod?`Nautilus
Who has an idle animation where they do the Captain Morgan (rum) pose?`Nautilus
Who says "Mmm, the taste of coward." in game?`Nidalee
Who has an ability called "Takedown"?`Nidalee
Whose hidden passive gives nearby lower-leveled allied champions 5 experience every 5 seconds?`Nidalee
Who has a Pharoah skin?`Nidalee
Who has a Challenger skin made to celebrate the start of the 2016 season?`Nidalee
Who has a Haunting skin?`Nocturne
Who is also known as the "Eternal Nightmare"?`Nocturne
Who says "Are you my nightmare, or am I yours?"?`Nocturne
Who says "Embrace the darkness." when picked in champion select?`Nocturne
Who has an ability called "Shroud of Darkness"?`Nocturne
What is the name of the yeti that Nunu rides?`Willump
Who has a skin that a reference to Sesame Street characters?`Nunu
Who is Freljord's League Emissary?`Nunu
Who says "Swallowed you whole!" in game?`Nunu
Who has a skill called "Consume"?`Nunu
Who is Olaf allied with?`Sejuani
Who plays the drums in the band 'Pentakill'?`Olaf
Who is also known as the "Berserker"?`Olaf
Who says "Leave nothing behind!" when picked in champion select?`Olaf
Who has a skill called "Undertow"?`Olaf
Who says "I have sharp things."?`Orianna
What is Orianna's last name?`Reveck
What is Orianna's occupation?`Dancer
What was Orianna's father's name?`Corin Reveck`Corin
Who is Orianna's pet and protector?`The Ball`Ball
Who has the least base AD at level 1?`Orianna
Who has an ability called "Searing Charge"?`Ornn
Who crafted The Howling Abyss and the bridge above it?`Ornn
Who has a Thunder Lord skin?`Ornn
Who crafted Braum's Enchanted Ram Door?`Ornn
Who is known as the "Fire Below the Mountain"?`Ornn
Who crafted Fizz's Seastone Trident?`Ornn
What other profession has Pantheon always wanted to have?`Baker
Who is also known as the "Artisan of War"?`Pantheon
Whose weapons formerly belonged to someone named Zeonia?`Pantheon
What is Pantheon's real name?`Atreus
Who is the Aspect of War?`Pantheon
Who is a member of the Rakkor tribe?`Pantheon
Glaive Warrrior Pantheon was released to celebrate the server for which country?`Romania
Who inspired Galio to leave his silent purgatory to fight for the will of Demacia?`Poppy
Who was Poppy's mentor (the original owner of the hammer)?`Orlon
What is Poppy's favorite food?`Lollipops`Lollypop`lollipop
Who thinks that other Yordles are fluffy and disorganized?`Poppy
Who is the first champion to have full facial animation in game?`Poppy
Who is also known as Demacia's Wings?`Quinn
What is the name of Quinn's eagle?`Valor
Who has a Phoenix skin?`Quinn
Who is dating Jarvan IV (according to Riot Ransom)?`Quinn
Who does Valor (Quinn's eagle) not respect?`Garen
What is the name of Quinn's dead brother?`Caleb
Who has a skill called "Battle Dance"?`Rakan
What is Rakan's favorite human food?`Chocolate
What tribe do Rakan and Xayah belong to?`Lhotlan
What are Rakan's wings disguised as to blend in with humans?`His Cloak`cloak
Who has the lowest basic attack range of all ranged champions?`Rakan
Who has the least number of quotes?`Rammus
Who has a Molten skin?`Rammus
According to the dating service run by Blitzcrank, what is Rammus' best match?`A cactus`cactus
Name one champion that comes from The Plague Jungles?`Wukong or Rammus`Wukong`Rammus
Who says "ok."?`Rammus
Who has a skill called "Prey Seeker"?`Rek'sai`Reksai`Rek sai
What species is Rek'sai?`Xer'Sai`Xersai`Xer sai
Who is also known as the "Void Burrower"?`Rek'sai`Reksai`Rek sai
Which Voidborn has dwelt the longest in Runeterra?`Rek'sai`Reksai`Rek sai
Who is the only female Voidborn?`Rek'sai`Reksai`Rek sai
Name one of the two female champions without a humanoid form?`Anivia or Rek'sai`Rek'sai`Reksai`Rek sai`Anivia
Who is also known as the "Butcher of the Sands"?`Renekton
Who has an Outback skin which references Crocodile Dundee?`Renekton
Who drove Renekton insane?`Xerath
Who has a skill called "Dominus"?`Renekton
Who says "As I live, all will die!"?`Renekton
Who is also known as the "Pridestalker"?`Rengar
Who did rengar lose an eye to?`Kha'zix`Khazix`Kha zix
Who says "I seek only the strongest" while in game?`Rengar
Who has a skin that references Nightcrawler from the X-men series?`Rengar
Who has a skill called "Savagery"?`Rengar
Who killed the Ionian elder that Yasuo was trying to protect?`Riven
Who says "My spirit is not lost." in game?`Riven
Name a member of the "Crimson Elite"?`Katarina or Riven or Talon`Katarina`Riven`Talon
Who has a Redeemed skin?`Riven
Whose actions caused Riven to decide to wander in self-imposed exile?`Singed
Who is also known as the "Mechanized Menace"?`Rumble
Who thinks that Heimerdinger is a sellout?`Rumble
Who has a skill called "flamespitter"?`Rumble
Who says "Let's get in the fight!" when picked in champion select?`Rumble
What is the name of Rumble's robot?`Tristy
Who is also known as the "Rune Mage"?`Ryze
Who used to be known as the "Rogue Mage"?`Ryze
Who was the first champion to have 2 Harrowing skins?`Ryze
Who tells you to "Take this scroll and stick it somewhere safe."?`Ryze
Whose occupation is Warlock?`Ryze
Who was the first champion to have 9 skins?`Ryze
Who has a skin that is a reference to Elminster Aumar from Dungeons and Dragons?`Ryze Whitebeard`Ryze
What is the name of Sejuani's boar?`Bristle
Who has a skin that was released to celebrate the server in Russia?`Sejuani
What in-game item is Sejuani wearing in her Classic splash art?`Seeker's Armguard`seekers armguard
Who does Lissandra taunt by saying "Kneel before me and I will unleash your power!" (in game)?`Sejuani
Who is also known as the "Winter's Wrath"?`Sejuani
Who says "The joke's on you!" in game?`Shaco
Who has a skill called "Deceive"?`Shaco
Whose name is an anagram of "Chaos"?`Shaco
Who had a skin released to celebrate League of Legends' first anniversary in Korea?`Shaco
Who is "Valoran's first fully functioning homicidal comic"?`Shaco
Who has the only global teleport?`Shen
Who is the "Eye of Twilight"?`Shen
Who was the first champion to use energy as a resource?`Shen
Who is the leader of the Kinkou order?`Shen
Who says "A demonstration of superior judgement." when picked in champion select?`Shen
Who carries two ninjato?`Shen
Who was responsible for capturing and imprisoning Jhin?`Shen
Yellow Jacket Shen is a reference to Scorpion from which video game series?`Mortal Kombat
Who helped Shyvana kill the dragon who killed her father?`Jarvan IV`Jarvan 4`j4
Who hates being turned into a squirrel by Lulu?`Shyvana
Which Demacian disapproves of Shyvana due to her lack of self-control?`Garen
Who has a skill called "Flame Breath"?`Shyvana
Who has a skin that was made in celebration of the 2014 World Championship?`Shyvana
Who was the first champion ever created?`Singed
Who augmented Warwick?`Singed
Who supplies Gragas with brewing equipment?`Singed
Who invented the weapon used to destroy Master Yi's home village?`Singed
Who has a skill called "Fling"?`Singed
Who has the crown of Jarvan I embedded in their jaw?`Sion
Who has a kunai in their head?`Sion
Who performed the ritual to resurrect Sion?`Vladimir
Who has a skill called "Soul Furnace"?`Sion
Who is the Noxian tool of war?`Sion
Who has a skin that is a reference to Wonder Woman?`Sivir
Who has the Victorious skin from Season 5?`Sivir
Who is also known as the "Battle Mistress"?`Sivir
Who is the Heir of Shurima?`Sivir
Who has a skill called "Ricochet"?Sivir
Who is also known as "The Crystal Vanguard"?`Skarner
Who emerged from the Crystal Scar (Dominion map)?`Skarner
Which champion is a member of the Brackerns species?`Skarner
Who yells his own name after standing in a bush for a period of time (reference to Pokemon)?`Skarner
Who has a skill called "Fracture"?`Skarner
Who says "On all legs." in game?`Skarner
Who is a mute?`Sona
What is the name of Sona's weapon?`etwahl
What is Sona's last name?`Buvelle
Who says "Accelerated movement, I concur." in game?`Sona
Who is also known as the "Maven of the Strings"?`Sona
Who plays Keyboard for the band "Pentakill"?`Sona
Who is responsible for reviving Irelia and binding her life force to her blades?`Soraka
Who was Soraka betrayed by?`Warwick
Who says "This is my path" in game?`Soraka
Who has a Dryad skin?`Soraka
Who has a skill called "Equinox"?`Soraka
What is the name of Swain's raven?`Beatrice
Who is the leader of Noxus?`Swain
Whose personal warship is called the "Leviathan"?`Swain
What is Swain's first name?`Jericho
Who is also known as the "Master Tactician"?`Swain
Who says "A whole world to toy with."?`Syndra
Who is also known as the "Dark Sovereign"?`Syndra
Who has a skill called "Scatter the Weak"?`Syndra
Which child has power that Syndra is fascinated by?`Annie
Who does Syndra have an alliance with?`Zed
Name one of the two melee champions with the highest range?`Mordekaiser or Tahm Kench`Mordekaiser`Tahm Kench`tahmkench
Who is known as "the River King"?`Tahm Kench`tahmkench
Who has the most lines in the game?`Tahm Kench`tahmkench
Who says "Savor the misery."?`Tahm Kench`tahmkench
Who has a skill called "Devour"?`Tahm Kench`tahmkench
Whose race is "River Demon"?`Tahm Kench`tahmkench
What is Taliyah's favorite ice cream flavor?`Rocky Road
How old is Taliyah?`16`sixteen
Who nicknamed Taliyah "little sparrow"?`Yasuo
Who gave Yasuo the thread he uses to tie up his hair?`Taliyah
Who is Talon's rival?`Quinn
Who is also known as the Blade's Shadow?`Talon
Who has a skill called "Cutthroat"?`Talon
Who was Talon's old partner in crime?`Kavyn
Who does Taric supposedly have a crush on?`Ezreal
Who has an Emerald skin?`Taric
Who is also known as "the Shield of Valoran"?`Taric
Who is the Aspect of the Protecter?`Taric
Who was punished with the Crown of Stone?`Taric
Who has a passive called "Bravado"?`Taric
Who is the smallest champion in the game itself?`Teemo
Who is rumored to be Teemo's girlfriend?`Tristana
Who stopped Veigar during his evil plan in Bandle City?`Teemo
What type of poison does Teemo use in his blowgun?`Arjunta
Who has a Badger skin?`
Who was the original member of the Omega Squad?`Teemo
Who has a skill called "The Box"?`Thresh
Who has a skill that says "You have opened the box. Your prize: death." in the Death Recap?`Thresh
Who says "I am the thing under the bed"?`Thresh
Who has a Deep Terror skin?`Thresh
Who is also known as the "Chain Warden"?`Thresh
Who has a championship skin that was released to celebrate the 2013 Season 3 World Championship?`Thresh
Who can you get a free skin for if you like Riot on Facebook?`Tristana
Who has a Firefighter skin?`Tristana
What is the name of Tristana's Dragon in her Dragon Trainer Tristana skin?`Riggle
What is the name of Tristana's Gun?`Boomer
Who says "Here comes the boom!" in game?`Tristana
What is the name of Trundle's club?`Boneshiver
What species is Trundle?`Troll
Who did Trundle get his club from?`Lissandra
Not counting ultimate abilities, who has the largest AoE in the game?`Trundle
Who says "I'm not ugly, but they're about to be!" in game?`Trundle
Who has a skin that was released to celebrate the release of the server in Turkey?`Tryndamere
Who was named after the Riot Games CEO?`Tryndamere
Who has a Demonblade skin?`Tryndamere
Who is Tryndamere's nemesis?`Aatrox
Who says "This'll be a slaughter" when picked in champion select?`Tryndamere
Whose dance is a reference to Gangnam Style by Psy?`Twisted Fate
Who occasionally plays cards with Twisted Fate?`Ezreal
What is Twisted Fate's real name?`Tobias Foxtrot
Who is Twisted Fate's ex-girlfriend?`Evelynn
Who has a Magnificent skin that is both legendary and legacy?`Twisted Fate
Who says "Who's following me?" as a reference to the website twitch.tv?`Twitch
Who has a skill called "Ambush"?`Twitch
Who says "I'll be right under their noses." in game?`Twitch
Who is also known as the "Plague Rat"?`Twitch
Whose name translates to "Beast" in Norwegian?`Udyr
Who has a Spirit Guard skin?`Udyr
Who is also known as the "Spirit Walker"?`Udyr
Who killed Udyr's predecessor and mentor?`Lissandra
Where does Udyr live?`Freljord
Which character cannot max out all of their skills?`Udyr
Who brought Udyr to Ionia to calm his rage and meet the animal spirits that he uses?`Lee Sin`leesin
Who cut Urgot in the mines?`Baron Voss`Voss
In their original lore, who cut Urgot in half?`Garen
Whose dance is a reference to Kirby's victory dance?`Urgot
Who was Urf's Corpse sold to?`Butcher Urgot`Urgot
When Urgot was a soldier, who was his commanding officer?`Sion
In the original lore, who did Professor Stanwick Pididly resurrect?`Urgot
Whose ultimate used to be called "Hyper-Kinteic Position Reverser"?`Urgot
Who is the only male Heartseeker?`Varus
Whose name is the medical term for a joint deformity causing bowleggedness?`Varus
Who has an owl insignia on his chest?`Varus
Who guards the Pit of Pallas?`Varus
Who says "I am forsaken" in game?`Varus
Which champion is the formed from the fusion of two male lovers?`Varus
What is Vayne's first name?`Shauna
Who has an Aristocrat skin?`Vayne
Whose occupation is "Night Hunter"?`Vayne
Who is Vayne rumored to be investigating?`Leblanc
Who says "Let us hunt those who have fallen to darkness." when picked in champion select?`Vayne
Who has the most laugh emotes?`Veigar
Who tried to steal Bandle City's Mothership?`Veigar
Who can continuously increase their AP by using a skill?`Veigar
Who has a Leprechaun skin?`Veigar
Who has a Final Boss skin?`Veigar
Who says "I will swallow your soul."?`Veigar
Who learns about Valoran by disintegrating subjects?`Vel'koz`vel koz`velkoz
Who gains 3.141592 (pi) AD per level?`Vel'koz`vel koz`velkoz
Who is Vel'koz searching for?`Zilean
Whose occupation is "Knowledge Seeker"?`Vel'koz`vel koz`velkoz
Who says "Knowledge through... disintegration." when picked in champion select?`Vel'koz`vel koz`velkoz
Whose dance is the "Dougie"?`Vi
Whose name means "with force" in Latin?`Vi
Whose taunt is the "Ali Shuffle"?`Vi
Who has a Neon Strike skin?`Vi
Who has a skill called "Blast Shield"?`Vi
Who constructed Blitzcrank?`Viktor
Who did Professor Stanwick steal credit for creating Blitzcrank's sentience from?`Viktor
Who is also known as the "Machine Herald"?`Viktor
Who is the leader of The Evolution?`Viktor
Who has a skill called "Chaos Storm"?`Viktor
Who has a Nosferatu skin?`Vladimir
Who is also known as the "Crimison Reaper"?`Vladimir
What is Vladimir's blood type?`AB+`AB positive`AB`AB +
Who is a Hemomancer?`Vladimir
Who says "The rivers will run red." when picked in champion select?`Vladimir
Who has a Thunder Lord skin?`Volibear
What species is Volibear?`Ursine
Who says "Let the storm follow in my wake." when picked in champion select?`Volibear
Who has a skill called "Majestic Roar"?`Volibear
Who killed Urf?`Warwick
Who is also known as "the Uncaged Wrath of Zaun"?`Warwick
If you search for Urf in champion select, whose name pops up?`Warwick
Who is also known as Subject #1088?`Warwick
Who has a Hyena skin?`Warwick
Warwick betrayed Soraka to get her heart for who?`Singed
Who has the skill with the highest AD Ratio in the game?`Wukong
Who named Wukong, "Wukong"?`Master Yi`Yi
Who created Wukong's staff?`Doran
Who is the only champion with a stealth ability who is not classified as an assassin?`Wukong
What species are Rakan and Xayah?`Vastaya
Who has a skill called "Double Daggers"?`Xayah
Who is also known as "the Rebel"?`Xayah
Who did Xayah and Rakan fight in the "Wild Magic" Promo video?`Zed
Who has a Cosmic Dusk skin?`Xayah
Who has a Runeborn skin?`Xerath
Who has a skill called "Arcanopulse"?`Xerath
Who says "I will be free." when picked during champion select?`Xerath
Who had romantic feelings for a girl named Tabia, a girl who tried to stop their transformation?`Xerath
Who says "I will be free." when picked in champion select?`Xerath
Who spent a millennia locked up with Renekton?`Xerath
Who was rescued by Jarvan IV's grandfather?`Xin Zhao
Who has a skin that is a reference to Zhao Yun?`Xin Zhao
Whose occupation is the "Steward of the Lightshield Dynasty"?`Xin Zhao
Winged Hussar Xin Zhao was released to celebrate the server for which country?`Poland
Who is also known as the "Seneschal of Demacia"?`Xin Zhao
Who plays a Sakuhachi (type of flute) in their dance animation?`Yasuo
Who has a skill called "Steel Tempest"?`Yasuo
Who is also known as the "Unforgiven"?`Yasuo
What is the name of Yasuo's brother?`Yone
Whose champion design is based on the samurai?`Yasuo
What is Yorick's last name?`Mori
Whose ultimate used to be "Omen of Death"?`Yorick
Who plays the bass in the band 'Pentakill'?`Yorick
What type of weapon does Yorick weild?`Monk's Spade`monks spade`spade
Where was Yorick born?`Blessed Isles
Who is the Zaun Amorphous Combatant?`ZAC
Who is the only champion with 2 laugh animations?`Zac
Who is the only champion from Zaun who was raised by two loving parents?`Zac
Who is also known as the "Secret Weapon"?`Zac
Who has a skill called "Cell Division"?`Zac
Who killed Shen's father?`Zed
Who has a Shockblade skin?`Zed
Who established the Order of the Shadow?`Zed
Who is also known as the "Master of Shadows"?`Zed
Who says "I am the blade in the darkness."?`Zed
Who wears an earring on his left ear?`Ziggs
...is scared of Jinx because she always wants to hug him?`Ziggs
Who is the only champion who emotes without the player making them (i.e. laughing)?`Ziggs
Who is the Dean of Demolitions at the Yordle Academy in Piltover?`Ziggs
Who has a Master Arcanist skin?`Ziggs
Who does Zilean have an antagonistic relationship with?`Volibear
Who is from the country of Urtistan?`Zilean
Who joined the league to find a cure for chrono-displasia?`Zilean
Name a champion with only one damaging ability?`Tryndamere or Zilean`Tryndamere`Zilean
Name a champion with a non-ultimate ability that cannot be taken at level 1?`Azir or Zilean`Azir`Zilean
Who woke up Skarner?`Zilean
Which character's walk cycles can be toggled in game?`Zoe
Who is the Aspect of Twilight?`Zoe
Aside from Diana, who else is a part of the Lunari?`Zoe
What does Zoe like to eat?`Chocolate Mooncakes
Which character displays heterochromia (not counting Lulu's Bittersweet skin)?`Zoe
What does Zoe call Aurelion Sol?`Space Doggy
Who gains +1 movement speed when on the same team as Zyra?`Maokai
Who has a Wildfire skin?`Zyra
Whose passive causes Zyra to grow larger?`Leona
Where (region) did Zyra come from?`Kumungu
Who is also known as the "Rise of the Thorns"?`Zyra
Who has the highest base HP at level 1?`Tryndamere
Who has the highest base HP at level 18?`Alistar
Who has the lowest base HP at level 1?`Anivia
Who has the lowest base HP at level 18?`Gnar
Who has the lowest base armor?`Thresh
Who has the highest base armor?`Rammus
Who has the highest base mana at level 1?`Janna
Who has the highest base mana at level 18?`Kassadin
Who is able to obtain the most magic resist in the game (including items, masteries, abilities, etc)?`Xin Zhao
What is the name of the hermit shopkeeper on the Howling Abyss (hint: named after a Rioter)?`Lyte
What is the name of the Viking ghost shopkeeper on the Howling Abyss?`Greyor
Who bound the Viking's ghost to the Howling Abyss?`Avarosa
What is the name of the flying robot owned by the Hermit on the Howling Abyss (hint:named after a Rioter)?`Geeves
What is the capital city of Freljord?`Rakelstake
Against which neutral mob does crowd control last twice as long?`Rift Scuttler
Smiting which neutral mob will give summon a nature spirit that grants vision over the nearby crossroads for 95 seconds?`Greater Murk Wolf
Smiting which neutral mob will give you the buff "Gift of Heavy Hands"?`Ancient Krug
Which neutral mob gives +62 gold when killed?`Gromp
Which neutral mob gives +58 gold when killed?`Blue Sentinel
Which neutral mob gives the buff "Doom's Eve"?`Rift Herald
Which neutral mob will dance if Popstar Ahri dances near it?`Blue Sentinel
Which neutral mob will dance if any champion dances near it?`Rift Herald
Which neutral mob is the only mob with scaling armor and magic resistance after level 9?`Dragon
What is Baron Nashor's movement speed?`300`three hundred
What is the name of the type minion created by Banner of Command?`Anti-turret Cannon`antiturret cannon
What is the name of the continent that League of Legends is located on?`Valoran
Which champion is capable of having the most spell vamp?`Akali
Which summoner spell has a 240 second cooldown?`Heal
What is the name of the spider that lives in the Twisted Treeline?`Vilemaw
-139
View File
@@ -1,139 +0,0 @@
Which champion's ultimate is named: Spirit Rush?`Ahri
Which champion's ultimate is named: Hemoplague?`Vladimir
Which champion's ultimate is named: On The Hunt?`Sivir
Which champion's ultimate is named: Destiny?`Twisted Fate
Which champion's ultimate is named: UPGRADE!!!`Heimerdinger
Which champion's ultimate is named: Enchanted Crystal Arrow?`Ashe
Which champion's ultimate is named: Mantra?`Karma
Which champion's ultimate is named: Keeper's Verdict?`Poppy
Which champion's ultimate is named: Glacial Storm?`Anivia
Which champion's ultimate is named: Rite of the Arcane?`Xerath
Which champion's ultimate is named: Bullet Time?`Miss Fortune
Which champion's ultimate is named: Tempered Fate?`Bard
Which champion's ultimate is named: Void Assault?`Kha'zix`khazix`kha zix
Which champion's ultimate is named: Fury of the Sands?`Nasus
Which champion's ultimate is named: Shadow Assault?`Talon
Which champion's ultimate is named: Crowstorm?`Fiddlesticks
Which champion's ultimate is named: Thunder Claws?`Volibear
Which champion's ultimate is named: Behind Enemy Lines?`Quinn
Which champion's ultimate is named: Cyclone?`Wukong
Which champion's ultimate is named: Infinite Duress?`Warwick
Which champion's ultimate is named: Glacial Prison?`Sejuani
Which champion's ultimate is named: Spider Form/Human Form?`Elise
Which champion's ultimate is named: Requiem?`Karthus
Which champion's ultimate is named: Trueshot Barrage?`Ezreal
Which champion's ultimate is named: Life Form Disintegration Ray?`Vel'koz`vel koz`velkoz
Which champion's ultimate is named: Command: Shockwave?`Orianna
Which champion's ultimate is named: Children of the Grave?`Mordekaiser
Which champion's ultimate is named: Missile Barrage?`Corki
Which champion's ultimate is named: Lamb's Respite?`Kindred
Which champion's ultimate is named: Paranoia?`Nocturne
Which champion's ultimate is named: Crescent Sweep?`Xin Zhao`xinzhao
Which champion's ultimate is named: Chain of Corruption?`Varus
Which champion's ultimate is named: GNAR!`Gnar
Which champion's ultimate is named: Unstoppable Force?`Malphite
Which champion's ultimate is named: Frozen Tomb?`Lissandra
Which champion's ultimate is named: Ravenous Flock?`Swain
Which champion's ultimate is named: Summon: Tibbers?`Annie
Which champion's ultimate is named: Riftwalk?`Kassadin
Which champion's ultimate is named: Insanity Potion?`Singed
Which champion's ultimate is named: Transcendent Blades?`Irelia
Which champion's ultimate is named: Super Mega Death Rocket!`Jinx
Which champion's ultimate is named: Intervention?`Kayle
Which champion's ultimate is named: Buster Shot?`Tristana
Which champion's ultimate is named: Monsoon?`Janna
Which champion's ultimate is named: Pyroclasm?`Brand
Which champion's ultimate is named: Depth Charge?`Nautilus
Which champion's ultimate is named: The Equalizer?`Rumble
Which champion's ultimate is named: Chronoshift?`Zilean
Which champion's ultimate is named: Mercury Cannon/Mercury Hammer?`Jayce
Which champion's ultimate is named: The Box?`Thresh
Which champion's ultimate is named: Thrill of the Hunt?`Rengar
Which champion's ultimate is named: Death Lotus?`Katarina
Which champion's ultimate is named: Slicing Maelstrom?`Kennen
Which champion's ultimate is named: Explosive Cask?`Gragas
Which champion's ultimate is named: Cosmic Radiance?`Taric
Which champion's ultimate is named: Hallucinate?`Shaco
Which champion's ultimate is named: Chronobreak?`Ekko
Which champion's ultimate is named: Feast?`Cho'gath`cho gath`chogath
Which champion's ultimate is named: Aspect of the Cougar?`Nidalee
Which champion's ultimate is named: Unbreakable Will?`Alistar
Which champion's ultimate is named: Vengeful Maelstrom?`Maokai
Which champion's ultimate is named: Absolute Zero?`Nunu
Which champion's ultimate is named: Cataclysm?`Jarvan
Which champion's ultimate is named: Tremors?`Rammus
Which champion's ultimate is named: Nether Grasp?`Malzahar
Which champion's ultimate is named: Last Breath?`Yasuo
Which champion's ultimate is named: The Culling?`Lucian
Which champion's ultimate is named: Lunar Rush?`Diana
Which champion's ultimate is named: Massacre?`Aatrox
Which champion's ultimate is named: Noxian Guillotine?`Darius
Which champion's ultimate is named: Soul Shackles?`Morgana
Which champion's ultimate is named: Unstoppable Onslaught?`Sion
Which champion's ultimate is named: Living Artillery?`Kog'maw`kogmaw`kog maw
Which champion's ultimate is named: Primordial Burst?`Veigar
Which champion's ultimate is named: Dragon's Descent?`Shyvana
Which champion's ultimate is named: Demacian Justice?`Garen
Which champion's ultimate is named: Ace in the Hole?`Caitlyn
Which champion's ultimate is named: Tidal Wave?`Nami
Which champion's ultimate is named: Fate's Call?`Kalista
Which champion's ultimate is named: Wish?`Soraka
Which champion's ultimate is named: Blade of the Exile?`Riven
Which champion's ultimate is named: Wild Growth?`Lulu
Which champion's ultimate is named: Final Hour?`Vayne
Which champion's ultimate is named: Undying Rage?`Tryndamere
Which champion's ultimate is named: Noxious Trap?`Teemo
Which champion's ultimate is named: Cannon Barrage?`Gangplank
Which champion's ultimate is named: Sadism?`Dr. Mundo`dr mundo`mundo`drmundo
Which champion's ultimate is named: Chaos Storm?`Viktor
Which champion's ultimate is named: Emperor's Divide?`Azir
Which champion's ultimate is named: Static Field?`Blitzcrank
Which champion's ultimate is named: Stranglethorns?`Zyra
Which champion's ultimate is named: Chum the Waters?`Fizz
Which champion's ultimate is named: Last Caress?`Evelynn
Which champion's ultimate is named: Grand Skyfall?`Pantheon
Which champion's ultimate is named: Shadow Dance?`Akali
Which champion's ultimate is named: Highlander?`Master Yi
Which champion's ultimate is named: Eulogy of the Isles?`Yorick
Which champion's ultimate is named: Final Spark?`Lux
Which champion's ultimate is named: Onslaught of Shadows?`Hecarim
Which champion's ultimate is named: Stand United?`Shen
Which champion's ultimate is named: Assault and Battery?`Vi
Which champion's ultimate is named: Abyssal Voyage?`Tahm Kench`tahmkench
Which champion's ultimate is named: Dominus?`Renekton
Which champion's ultimate is named: Mega Inferno Bomb?`Ziggs
Which champion's ultimate is named: Realm Warp?`Ryze
Which champion's ultimate is named: Solar Flare?`Leona
Which champion's ultimate is named: Impale?`Skarner
Which champion's ultimate is named: Grand Challenge?`Fiora
Which champion's ultimate is named: Petrifying Gaze?`Cassiopeia
Which champion's ultimate is named: Crescendo?`Sona
Which champion's ultimate is named: Death Mark?`Zed
Which champion's ultimate is named: Leap of Faith?`Illaoi
Which champion's ultimate is named: Dragon's Rage?`Lee Sin`leesin
Which champion's ultimate is named: Pheonix Stance?`Udyr
Which champion's ultimate is named: Whirling Death?`Draven
Which champion's ultimate is named: Fear Beyond Death?`Urgot
Which champion's ultimate is named: Hero's Entrance?`Galio
Which champion's ultimate is named: Glacial Fissure?`Braum
Which champion's ultimate is named: Subjugate?`Trundle
Which champion's ultimate is named: Unleashed Power?`Syndra
Which champion's ultimate is named: Rat-Ta-Tat-Tat?`Twitch
Which champion's ultimate is named: Void Rush?`Rek'sai`rek sai`reksai
Which champion's ultimate is named: Collateral Damage?`Graves
Which champion's ultimate is named: Ragnarok?`Olaf
Which champion's ultimate is named: Let's Bounce!`Zac
Which champion's ultimate is named: Mimic?`Leblanc
Which champion's ultimate is named: Grandmaster's Might?`Jax
Which champion's ultimate is named: Curtain Call?`Jhin
Which champion's ultimate is named: Voice of Light?`Aurelion Sol`aurelionsol
Which champion's ultimate is named: Chaaaaaaaarge!!! ?`Kled
Which champion's ultimate is named: Daisy!?`Ivern
Which champion's ultimate is named: Hextech Ultimatum?`Camille
Which champion's ultimate is named: Curse of the Sad Mummy?`Amumu
Which champion's ultimate is named: Weaver's Wall?`Taliyah
Which champion's ultimate is named: The Quickness?`Rakan
Which champion's ultimate is named: Featherstorm?`Xayah
Which champion's ultimate is named: Umbral Trespass?`Kayn
Which champion's ultimate is named: Call of the Forge God?`Ornn
Which champion's ultimate is named: Portal Jump?`Zoe
-266
View File
@@ -1,266 +0,0 @@
What franchise has the most championships in NBA history?`Boston Celtics` Celtics
What does NBA stand for?`National Basketball Association
How many teams are in the NBA?`30`thirty
How many conferences are in the NBA?`2`two
How many divisions are in the NBA?`6`six
Who is the only player to score 100 points in a single game?`Wilt Chamberlain
Who has the record for most points scored in a quarter?`Klay Thompson
Who is the youngest player to be drafted?`Andrew Bynum
Who is the oldest player to be drafted?`Bernard James
Who is the youngest player to record a triple double?`Lonzo Ball
Who is the youngest player to lead the league in scoring?`Kevin Durant
Which player had 5 consecutive 40+ point games in his rookie season?`Allen Iverson
Who is the youngest player to score 60+ points in a game?`David Thompson
Who is the youngest player to have 20+ rebounds in a game?`Dwight Howard
Who is the oldest player to have 20+ assists in a game?`Steve Nash
Who is the youngest player to reach 25,000 career points?`LeBron James`lebron
Who is the youngest player to reach 5,000 career assists?`Magic Johnson
Who is the youngest player to receive All-NBA First Team honors?`LeBron James`lebron
What team scored 186 points as an NBA record in a single game?`Detroit Pistons`Pistons
What team scored the fewest points (49) in a single game?`Chicago Bulls`Bulls
What team made the most 3-point field goals in a single game?`Houston Rockets`Rockets
What is the only team that doubled the points of their opponent in a regulation game?`Indiana Pacers`Pacers
What team had the largest margin of victory in a game?`Cleveland Cavaliers`Cavaliers`Cavs
What team had the most assists in a game?`Milwaukee Bucks`Bucks
What was the Golden State Warrior's record in the 2015-16 season?`73-9`73:9`73 to 9
What team had the worst record of 7-59 in a regular season?`Charlotte Hornets`Hornets`Charlotte Bobcats`Bobcats
What was the only number that Tim Duncan wore?`21
When did the Spurs retire number 21(MMDDYY)?`December 18, 2015`12/18/2015`12182015
What is Kawhi Leonard's career high points as of Jan 23, 2016?`41
What team had a winning streak of 33 in a regular season?`Los Angeles Lakers`Lakers
What was the longest losing streak by a team in a regular season?`28
What franchise has the highest winning percentage in history?`San Antonio Spurs`Spurs
Who has won the most MVP awards in NBA history?`Kareem Abdul-Jabbar`Kareem Abdul Jabbar
Name one of the 2 players who won the DPOY award 4 times during their career?`Ben Wallace or Dikembe Mutombo`Ben Wallace`Dikembe Mutombo
What player has won the most sixth man awards?`Jamal Crawford
When was the Larry OBrien trophy created?`1977
Who is the most recent player to win MVP in back to back seasons?`Stephen Curry
How many MVP awards did Kobe Bryant win?`1`one
Who won MVP in 1993?`Charles Barkley
Who won MVP in 1990?`Magic Johnson
Who won back to back MVP awards in 2001-02 and 2002-03 seasons?`Tim Duncan
Who is the only player to win the MVP award in back to back seasons with different teams?`Moses Malone
Who is the only player to win MVP 3 years in a row?`Larry Bird
How many MVP awards has LeBron James won?`4`Four
How many MVP awards has John Stockton won?`0`Zero`None
Who is the first ever player to win MVP?`Bob Pettit
What team was Bill Walton on when he won MVP?`Portland Trailblazers`Trailblazers
Who did Bob McAdoo play for when he won MVP in 1975?`Buffalo Braves`Braves
Name one of the two players to win ROTY at 24 years old?`Elgin Baylor or David Robinson`Elgin Baylor`David Robinson
Who won ROTY in 2010?`Tyreke Evans
Who is the first ever player to win ROTY?`Don Menieke
With what team did Kevin Durant win ROTY?`Seattle Supersonics`Supersonics
Who won ROTY in 2002?`Pau Gasol
Who won ROTY in 1998?`Tim Duncan
Who won ROTY in 1993?`Shaquille ONeal`Shaq
Who won ROTY in 1987?`Chuck Person
Who is the first ever player to win DPOY?`Sidney Moncrief
Who is the only point guard to win DPOY?`Gary Payton
Who is the only player to win DPOY 3 years in a row?`Dwight Howard
Who is the only player to win DPOY with 3 different teams?`Dikembe Mutombo
Who won back to back DPOY awards in 2014-15 and 2015-16?`Kawahi Leonard
In what year did Michael Jordan win DPOY?`1988
Who is the first ever player to win Sixth Man of the Year award?`Bobby Jones
Who is the only player to win the Sixth Man of the year award 3x?`Jamal Crawford
Name one of the only two players to win the Sixth Man of the Year award and to be inducted into the Hall of Fame?`Kevin McHale or Bill Walton`Kevin McHale`Bill Walton
Who won the Sixth Man of the year award in the 2007-08 season?`Manu Ginobili
Who is the only player to win the Sixth Man of the Year award with two different teams?`Jamal Crawford
Who won the Sixth Man of the Year award in the 2010-11 season?`Lamar Odom
Who won the Sixth Man of the Year award in the 2011-12 season?`James Harden
Who won the Sixth Man of the Year award in the 2004-05 season?`Ben Gordon
Who is the last player to win the Sixth Man of the Year award in back to back seasons?`Detlef Shrempf
Who is the first ever player to win Finals MVP?`Jerry West
Who is the only player to win Finals MVP on a losing team?`Jerry West
How many Finals MVP awards did Michael Jordan win?`6`six
Who is the only player to Finals MVP as a rookie?`Magic Johnson
Who is the only player other than Michael Jordan to win Finals MVP in 3 consecutive years?`Shaquille O'Neal`Shaq
Who is the first European player to win the Finals MVP award?`Tony Parker
Other than Kareem Abdul-Jabbar, who is the only player to win Finals MVP on different teams?`Lebron James`LeBron
Who won Finals MVP in 2011?`Dirk Nowitzki
Who is the youngest player to win Finals MVP?`Magic Johnson
Kareem Abdul-Jabbar is the oldest player to win Finals MVP, how old was he?`38`thirty eight`thirtyeight`thirty-eight
Who is the oldest player to win MVP?`Shaquille O'Neal`Shaq
How many times did Michael Jordan win All-Star game MVP?`3`three
In what year did Charles Barkley win All-Star MVP?`1991
How many times did Shaquille O'Neal win All-Star MVP?`1`one
How many times has Kobe Bryant won All-Star MVP?`4`four
Who is the youngest player to win All-Star MVP?`LeBron James`LeBron
Who is the all-time leader in points scored in the NBA All-Star game?`LeBron James`LeBron
What year did Kyrie Irving win All-Star MVP?`2014
Who is the first ever NBA All-Star MVP?`Ed Macauley
San Antonio ______?`Spurs
Dallas _________?`Mavericks`Mavs
Houston ________?`Rockets
Memphis __________?`Grizzlies
New Orleans ________?`Pelicans
Golden State ________?`Warriors
Los Angeles _______?`Lakers`Clippers
Sacramento _____?`Kings
Phoenix ____?`Suns
Portland _______?`Trailblazers
Oklahoma City _____?`Thunder
Utah ____?`Jazz
Minnesota ______?`Timberwolves
Denver _____?`Nuggets
Indiana _____?`Pacers
Cleveland ______?`Cavaliers`Cavs
Detroit _______?`Pistons
Milwaukee _____?`Bucks
Chicago ____?`Bulls
Miami _____?`Heat
Orlando _____?`Magic
Washington _______?`Wizards
Charlotte ______?`Hornets
Atlanta _______?`Hawks
Toronto _______?`Raptors
Philadelphia _____?`76ers
Boston ______?`Celtics
New York _____?`Knicks
Brooklyn _____?`Nets
What division are the San Antonio Spurs in?`Southwest
What division are the Sacramento Kings in?`Pacific
What division are the Denver Nuggets in?`Northwest
What division are the Milwaukee Bucks in?`Central
What division are the Washington Wizards in?`Southeast
What division are the Philadelphia 76ers in?`Atlantic
What arena do the San Antonio Spurs play in?`At&t Center`att center
What arena do the Dallas Mavericks play in?`American Airlines Center
What arena do the Houston Rockets play in?`Toyota Center
What arena do the New Orleans Pelicans play in?`Smoothie King Center
What arena do the Memphis Grizzlies play in?`FedExForum`FedEx Forum
What arena do the Golden State Warriors play in?`Oracle Arena
What arena do the Sacramento Kings play in?`Golden 1 Center
What arena do the Los Angeles Lakers/Clippers play in?`Staples Center
What arena do the Phoenix Suns play in?`Talking Stick Resort Arena
What arena do the Portland Trailblazers play in?`Moda Center
What arena do the Denver Nuggets play in?`Pepsi Center
What arena do the Utah Jazz play in?`Vivint Smart Home Arena
What arena do the Minnesota Timberwolves play in?`Target Center
What arena do the Oklahoma City Thunder play in?`Chesapeake Energy Arena
What arena do the Indiana Pacers play in?`Bankers Life Fieldhouse Center
What arena do the Cleveland Cavaliers play in?`Quicken Loans arena`The Q
What arena do the Detroit Pistons play in?`Little Caesars Arena
What arena do the Milwaukee Bucks play in?`BMO Harris Bradley Center
What arena do the Chicago Bulls play in?`United Center
What arena do the Miami Heat play in?`American Airlines Arena
What arena do the Orlando Magic play in?`Amway Center
What arena do the Charlotte Hornets play in?`Spectrum Center
What arena do the Washington Wizards play in?`Verizon Center
What arena do the Atlanta Hawks play in?`Philips Arena
What arena do the Toronto Raptors play in?`Air Canada Centre`Air Canada Center
What arena do the Boston Celtics play in?`TD Garden
What arena do the Philadelphia 76ers play in?`Wells Fargo Center
What arena do the New York Knicks play in?`Madison Square Garden`MSG
What arena do the Brooklyn Nets play in?`Barclays Center
What is the first team to win a championship?`Minneapolis Lakers`Los Angeles Lakers`Lakers
What team has lost the most NBA Finals series?`Los Angeles Lakers`Lakers
What team has the most appearances in the NBA Finals?`Los Angeles Lakers`Lakers
When was the most recent blow out in the NBA Finals?`2007
In what year did the Dallas Mavericks win their first championship?`2011
Who is the shortest player to ever play in the NBA?`Muggsy Bogues
Who won the NBA championship in 1978?`Washington Bullets`Bullets`Washington Wizards`Wizards
In what year did the Los Angeles Lakers upset the New Jersey Nets?`2002
What team won a championship in 1989, 1990 and 2004?`Detroit Pistons`Pistons
The Spurs won 5 championships and lost in 1 finals, what year did they lose?`2013
How many championships have the Philadelphia 76ers won?`3`three
What team lost in the 1981 and 1986 final?`Houston Rockets`Rockets
Who won the championship in 1983?`Philadelphia 76ers`76ers
In what year did Tracy McGrady win Most Improved Player award?`2001
Who won the Most Improved Player award in 2011?`Kevin Love
Who is the first European player to win the Most Improved Player award?`Gheorghe Muresan
Who is the first ever player to win the Most Improved Player award?`Alvin Robertson
What team has the most players to win the Most Improved Player award with 5 winners?`Orlando Magic`Magic
Who is the first ever coach to win the Coach of the Year award?`Harry Gallatin
Who is the Coach of the Year award names after?`Red Auerbach
In what year did Phil Jackson win the Coach of the Year award after coaching the Bulls to a 72 wins season?`1996
Who won Coach of the Year in the 2011 season?`Tom Thibodeau
What coach won Coach of the Year and led the Nuggets to a 57-win season, without having an NBA-All Star?`George Karl
How many coaches have won the Coach of the Year award 3 times?`3`Three
What coach won Coach of the Year award with a 33-48 record?`Johnny Kerr
Who won the Coach of the year award 3x with one team?`Gregg Popovich`Coach Pop
Who is the greatest coach of all time according to Lebron James?`Gregg Popovich`Coach Pop
Who was selected first overall in the 2016 NBA Draft?`Ben Simmons
Who was selected first overall in the 2017 NBA Draft?`Markelle Fultz
Who was selected first overall in the 2011 NBA Draft?`Kyrie Irving
Who was selected first overall in the 2003 NBA Draft?`LeBron James`LeBron
Who was selected first overall in the 1996 NBA Draft?`Allen Iverson
Who was selected first overall in the 1992 NBA Draft?`Shaquille O'Neal`Shaq
Who was selected as a high school player in the first round of the 2016 NBA Draft?`Thon Maker
Who is the only Canadian player that was selected in the 2016 NBA Draft?`Jamal Murray
How many international players were selected in the 2016 NBA Draft?`28`Twenty-eight`twenty eight`twentyeight
Who was selected first overall in the 2015 NBA Draft?`Karl-Anthony Towns
Satnam Singh was the only Indian player to be drafted into the NBA,what team selected him?`Dallas Mavericks`Mavericks`Mavs
Who was selected 19th overall by the Denver Nuggets in the 2016 NBA Draft?`Malik Beasley
Who was selected 4th overall by the Phoenix Suns in the 2016 NBA Draft?`Daragan Bender
Who was selected 12th overall by the Sacramento Kings in the 2016 NBA Draft?`Georgios Papagiannis
Who was the last player to be selected in the 2016 NBA Draft?`Tyrone Wallace
What was Shawn Marion's nickname?`The Matrix
Who was known as 'The Answer'?`Allen Iverson
What was Andre Kirilenko's nickname?`AK-47
Who was known as 'The Worm'?`Dennis Rodman
What was Gary Payton's nickname?`The Glove
Who was known as 'The Iceman'?`George Gervin
Who was known as 'Agent Zero'?`Gilbert Arenas
What was Glen Davis' nickname?`Big Baby
Who was known as 'The Mailman'?`Karl Malone
What is Vince Carter's nickname?`Vinsanity
What is Paul George's nickname?`PG13
Which team drafted Steve Francis 2nd overall in the 1999 draft, and traded him to the Rockets?`Vancouver Grizzlies`Grizzlies
What team selected Julius Erving 12th in the 1972 draft?`Milwaukee Bucks`Bucks
Who did the Boston Celtics draft 3rd overall in the 1997 draft?`Chauncey Billups
What team drafted Dirk Nowitzki 9th overall in the 1998 draft?`Milwaukee Bucks`Bucks
Which team drafted Ray ALlen 5th in the 1996 draft?`Minnesota Timberwolves`Timberwolves
Which team selected Penny Hardaway 3rd overall in the 1993 draft?`Golden State Warriors`Warriors
What team selected Scottie Pippen 5th overall in the 1987 draft?`Seattle Supersonics`Supersonics
What college did Magic Johnson go to?`Michigan State University`michigan state
What college did Larry Bird go to?`Indiana State University`Indiana State
What college did Michael Jordan go to?`University of North Carolina at Chapel Hill`North Carolina`UNC
What college did Kareem Abdul-Jabbar go to?`University of California, Los Angeles`UCLA
What college did Carmelo Anthony go to?`Syracuse University`Syracuse
What college did Tim Duncan go to?`Wake Forest University`Wake Forest
What college did Marcus Camby go to?`University of Massachusetts Amherst`Massachusetts`umass
What college did Shaquille O'Neal go to?`Louisiana State University`LSU
What college did Elton Brand go to?`Duke University`Duke
What college did Steve Francis go to?`University of Maryland`Maryland
What college did John Stockton go to?`Gonzaga University`Gonzaga
What college did Allen Iverson go to?`Georgetown University`Georgetown
What college did Wilt Chamberlain go to?`University of Kansas`Kansas
What college did Richard Hamilton go to?`University of Connecticut`Connecticut
What college did Nate Robinson go to?`University of Washington`Washington
What college did Dwayne Wade go to?`Marquette University`Marquette
What college did Anthony Davis go to?`University of Kentucky`Kentucky
What college did Jerry West go to?`West Virginia University`West Virginia
What college did Jeremy Lin go to?`Harvard University`Harvard
What team has the longest NBA Conference Finals appearance drought with 47 seasons?`Los Angeles Clippers`Clippers`LA Clippers
What team had the longest NBA Playoffs appearance drought with 15 seasons?`Los Angeles Clippers`Clippers`LA Clippers
In what year were the Vancouver Grizzlies and Toronto Raptors added to the NBA?`1995
What player's 89 points in his first three starts are the most by any NBA player since the NBA and ABA merged in 1976?`Jeremy Lin`Linsanity
What player had an NBA career lasting 3.9 seconds?`JamesOn Curry
What college has produced the most NBA players?`University of Kentucky`Kentucky
How many teams are still waiting for their first finals win?`12`Twelve
What team has the longest NBA Finals drought of 66 seasons?`Sacramento Kings`Kings
What team drafted Kobe Bryant as the 13th pick in the 1996 Draft?`Charlotte Hornets`Hornets
Who is the owner of the Charlotte Hornets?`Michael Jordan`Jordan
During Hurricane Katrina, what city did the New Orleans Hornets move to?`Oklahoma City`OKC
What is Ray Allen's first name?`Walter
What is Stephen Curry's first name?`Wardell
Who is Stephen and Seth Curry's father?`Dell Curry`Dell
What former NBA player owns 10% of all 'Five Guys Burgers' restaurants in the US?`Dr. Shaquille O'Neal`Shaquille O'Neal`Shaq
Who has the #1 all time miss count in the NBA?`Kobe Bryant`Kobe
What player died of a cocaine overdose 2 days after his draft night where he was the #2 pick?`Len Bias
How many 3 pointers did Shaq make over his whole career?`1`One
What player was stabbed 11 times in the face, back, and neck and still played all 82 games of the 2000-2001 NBA Season?`Paul Pierce
What team has won slightly more than one out of every four NBA Championships, making them the most successful sports franchise in North American history?`Boston Celtics`Celtics
What country wanted to be paid in wheat for allowing a 7'8½" (2.35m) tall Ri Myung-Hun to play in the NBA?`North Korea`Democratic People's Republic of Korea
In 1948, before the NBA had any black players, what exhibition basketball group beat the NBA Champion Lakers in a straight up game?`Harlem Globetrotters`Globetrotters
After what player was diagnosed with HIV, many NBA players claimed he shouldn't play because there could be a risk of contamination if he had an open wound?`Magic Johnson
The largest confirmed moose was 7'6" (2.33 m) tall at the shoulder, the same height as what Chinese NBA star?`Yao Ming`Ming Yao
What city is home to the only NBA game to have been forfeited on account of rain?`Seattle
Which NBA player once beat Michael Phelps in swimming at the age of 10?`Kris Humphries
What player holds the top spot of all-time career points with 38,387 points?`Kareem Abdul-Jabbar`Kareem Abdul Jabbar
What player holds the all-time NBA record of 28 field goals in a single game?`Kobe Bryant`Kobe
What player holds the all-time NBA record of 14 turnovers in a single game?`Jason Kidd
What current Clipper holds the all-time NBA record of a 63.31% career shooting percentage?`DeAndre Jordan
What is the most common number worn by players in NBA?`12`twelve
What NBA franchise has the most retired numbers hanging in the rafters?`Boston Celtics`Celtics
What player's number was retired by the Miami Heat even though he didn't play for the team?`Michael Jordan`Jordan
-302
View File
@@ -1,302 +0,0 @@
In which month and year was Overwatch released?`May 2016
On what map is the attacking team tasked with escorting an EMP device?`King's Row
What was the first map the Overwatch team developed for the game?`King's Row
What country is the practice range supposedly located in?`Russia
What country is Oasis located in?`Iraq
What was the name of the war between humans and omnics`Omnic Crisis`The Omnic Crisis
What does D.Va say when she self destructs her mech?`Nerf this
Who has the most expensive/rarest emote in the game?`D.Va
Who killed Mondatta?`Widowmaker
How old is Zenyatta?`20`twenty
What is D.Va's real name?`Hana Song
What is Tracer's real name?`Lena Oxton
Who has the lowest health in the game?`Zenyatta
Which character class has the most heroes?`Offense
Which character says "It's high noon" when his/her ultimate is used?`McCree
What was Tracer's fighter jet called?`the Slipstream`slipstream
Who helped Tracer with her chronal disassociation?`Winston
Who has an ability named Fire Strike?`Reinhardt
What was the name of the Lunar base that Winston lived at?`Horizan Lunar Colony
Who says "How Embarrassing!"`Winston
How many competitive points does it cost for golden weapons?`3000`three thousand
Whose ultimate is called Whole Hog?`Roadhog
What is a factory designed to manufacture Omnics called?`Omnium
What is the name of the rebel group Roadhog joined?`Australian Liberation Front
Whose bodyguard is Roadhog?`Junkrat
Who has a skin named Toa?`Roadhog
Who says "I'm a one-man apocalypse"?`Roadhog
What is Hanzo's family name?`Shimada
Who is Genji's mentor?`Zenyatta
Who has the ability Swift Strike?`Genji
Who has an achievement named Their Own Worst Enemy?`Genji
What country was Genji in during the time of the Overwatch recall?`Japan
Who has a skin named Chrysanthemum?`Mei
Who has an achievement named Cold Snap?`Mei
Who has an ability named Sentry Turret?`Symmetra
Who has an achievement named The Car Wash?`Symmetra
What is Symmetra obssessed with?`Order
How many seconds does Ana's sleep dart last?`5.5
Which terrorist organization does Widowmaker and Reaper work for?`Talon
Which character has the quote "What's An Aimbot?"?`Widowmaker
Who has an achievement named "Did That Sting?"?`Widowmaker
What was Widowmaker afraid of as a girl?`Spiders
Who has an ability named "Concussion Mine"?`Junkrat
Which hero's ultimate is called "RIP-Tire"?`Junkrat
Which hero has a skin called Jailbird?`Junkrat
Which hero is a fan of Lucio's music?`D.Va
Which hero is a fan of Mei and reads "Mei's Adventures"?`D.Va
Which hero is a fan of D.va?`Lucio
Which hero says "In Russia, Game Plays You"?`Zarya
Which hero has an achievement called "Power Overwhelming"?`Zarya
Which hero has an ability called "Particle Barrier"?`Zarya
What is Zarya's ultimate called?`Graviton Surge
What is Sombra's ultimate called?`EMP
Which hero has the skin Augmented?`Sombra
Which hero has the voice line "You're taking this very seriously."?`Sombra
Which hero has the achievement "Power Outtage"?`Sombra
Which hero's release was hinted at via an ARG?`Sombra
During the ARG which company's CEO did the hero want to "take down"?`Lumerico
Where is LumériCo's headquarters?`Dorado
Who is considered "the most powerful woman in Russia"?`Katya Volskaya
In the cinematic Infiltration which company's CEO was going to be assassinated?`Volskaya Industries
In the cinematic Infiltration who was secretly collaborated with the omnics?`Katya Volskaya
What is Torbjorn's ultimate called?`Molten Core
Who has an achievement called "Raid Wipe"?`Torbjorn
What country was Torbjorn in at the time of the Overwatch Recall?`Russia
Who helped Torbjorn design a prototype Biotic Rifle?`Mercy
Who is the shortest character in Overwatch?`Torbjorn
What does Mercy say when using her ultimate?`Heroes never die
Who has an achievement named "Group Health Plan"?`Mercy
Where was Mercy at the time of the Overwatch recall?`Iraq
In the Summer Games, what is Mercy's signature sport?`Badminton
What is the name of the Covert operations arm of Overwatch?`Blackwatch
Who was in charge of training Blackwatch agents?`Reaper
What is McCree's ultimate called?`Deadeye
Which hero has the achievement "Whoa There!"?`McCree
Where was McCree captured by Overwatch?`Route 66
What is Reapers ultimate called?`Death Blossom
Which hero has a skin named "Nevermore"?`Reaper
Which hero says "Haven't I killed you somewhere before?"`Reaper
Which hero has the achievement "Waste Not, Want Not"?`Reaper
What colour was the box in the comic Train Hopper?`Purple
Which hero has the voiceline "Young punks, get off my lawn"?`Soldier 76
What is the name of the Achievement that rewards Soldier 76's "cute spray"?`Target Rich Environment
Which gang did Soldier: 76 fight in "Hero"?`Los Muertos
What is the name of the girl Soldier:76 saves in "Hero"?`Alejandra
Which hero has the achievement "Storm, Earth and Fire"?`Reinhardt
Who accompanies Reinhardt as he wanders across Europe and repairs his armour?`Brigitte
What is the name of the gang Reinhardt fought in the second comic?`The Dragons
What country was Reinhardt in at the time of the Overwatch recall?`Greenland
Which hero is Reinhardt a fan of?`D.Va
What is the name of the Bastion skin gotten with the origins edition?`Overgrown
What is the name of the 4th web comic?`A Better World
Which hero has the achievement "Triple Threat"?`Bastion
What is the name of Bastion's bird companion?`Ganymede
What is Bastion's full model ID?`SST Laboratories Siege Automaton E54
How old is D.Va?`19`nineteen
How much health does D.Va have when she is not in her mech?`150
What is the model name of D.Va's mech?`MEKA
What does D.Va say when she uses her ultimate?`MEKA activated
In the first web comic who was blamed for the robbery?`McCree
What is the lowest competitive rank?`Bronze
What is the highest competitive rank?`Grandmaster
What damaged the watchpoint in Antarctica?`A Blizzard`blizzard
Who was the only survivor after the watchpoint in Antarctica was damaged?`Mei
How many competitive skill tiers are there?`Seven`7
How many competitive points are gained for wining a match?`Ten`10
How many competitive points are gained for a match that ended in a draw?`Three`3
What is the name of the music shop in Eichenwalde?`Die Zaubertröte`die zaubertrote
What is the name of the general that fought at Eichenwalde against the omnics?`Balderich von Adler
What is the payload in Eichenwalde?`A Battering Ram`battering ram
Who is in the limousine that the attacking team escorts in Hollywood?`HAL-Fred Glitchbot
What game can be seen on the monitor in the security room of Hollywood?`Hearthstone
What word is displayed during the Hollywood photo finish?`Fin
Do omnics and humans live as equals in Numbani?`Yes
In Numbani where must the attacking team escort Doomfist's gauntlet?`The Numbani Heritage Museum`Numbani Heritage Museum
The founding of Numbani is celebrated with which event?`Unity Day
In which country is Numbani?`Nigeria
Which hero is Ana's daughter?`Pharah
Which hero's ultimate is called "Barrage"?`Pharah
What does Pharah say when she uses her ultimate?`Justice Rains From Above
Which hero has a skin called Raptorion?`Pharah
Which hero has an achievement named "Clearing the area"?`Pharah
What is the name of Pharah's "Cute Spray" achievement?`Death From Above
What company does Pharah work for?`Helix Security International
What is the name of the omnic mercenary that appears in the comic "Mission Statement"?`Okoro
How old is Ana?`60`sixty
What is the name of Ana's ultimate?`Nano Boost
What does Ana say when she uses her ultimate?`You are powered up get in there
Which hero has a skin called Wasteland?`Ana
Which hero has the achievement "Enabler"?`Ana
What is the name of Ana's "Pixel Spray" achivement?`Naptime
What is the payload for Watchpoint: Gibraltar?`A Satellite Drone`satellite drone
Who is the reporter for Atlas News?`Olympia Shaw
What is the name of the language used by omnics?`Omnicode
In what year did the Omnic Crisis start?`2046
Which country was the first to be affected by the Omnic Crisis?`Russia
What is Lucio's full name?`Lúcio Correia dos Santos`Lucio Correia dos Santos
What is Lucio's ultimate called?`Sound Barrier
What does Lucio say when using his ultimate?`Oh Let's Break It Down`oh lets break it down
Which hero has a skin called "Breakaway"?`Lucio
Which hero says "Why Are You So Angry?"`Lucio
Which hero has an achievement called "The Floor is Lava"?`Lucio
What is Lucio's "Cute Spray" achievement called?`Supersonic
What was Lucio's first album called?`Synaesthesia Auditiva
What is the name of the 6th track on Lucio's album?`Maximum Tempo
What is the name of the law that deems any Overwatch activity illegal?`The Petras Act`Petras Act
What is the name of Soldier: 76's ultimate?`Tactical Visor
Which Overwatch hero used to be part of the "Deadlock Gang"?`McCree
In the comic Going Legit what was the name of the company that hired the heros?`Hyde Global
What is Widowmaker's real name?`Amélie Lacroix`Amelie Lacroix
What is the name of Widowmaker's "Cute Spray" achievement?`Smooth as silk
Which hero has the skins Odette and Odile?`Widowmaker
What is the name of the games narrator?`Athena
What is the name of D.Va's "Cute Spray" achievement?`Game over
What is the name of Ana's default voice line?`Justice delivered
What is the name of Bastion's default voice line?`Doo-woo`doowoo`doo woo
What is the name of D.Va's default voice line?`Love, D.Va`love d.va`
What is the name of Genji's default voice line?`A Steady blade
What is the name of Hanzo's default voice line?`Expect nothing less
What is the name of Junkrat's default voice line?`tick-tock-tick-tock`tick tock tick tock`ticktockticktock
What is the name of Lucio's default voice line?`To the rhythm
What is the name of McCree's default voice line?`Watch and learn
What is the name of Mei's default voice line?`Hang in there
What is the name of Mercy's default voice line?`I have my eye on you
What is the name of Pharah's default voice line?`Security in my hands
What is the name of Reaper's default voice line?`What are you looking at
What is the name of Reinhardt's default voice line?`I salute you
What is the name of Roadhog's default voice line?`The apocalypse
What is the name of Soldier: 76's default voice line?`I've still got it
What is the name of Sombra's default voice line?`Playing fair
What is the name of Symmetra's default voice line?`Such a lack of imagination
What is the name of Torbjorn's default voice line?`Hard work pays off
What is the name of Tracer's default voice line?`You got it
What is the name of Widowmaker's default voice line?`A single death
What is the name of Winston's default voice line?`Curious
What is the name of Zarya's default voice line?`Strong as the mountain
What is the name of Zenyatta's default voice line?`We are in harmony
How many glowing dots does Zenyatta have on his head?`9`nine
Which hero has a skin named "Sparrow?"`Genji
On which date did the Closed Beta for Overwatch start?`27 october`october 27
What is the name of Tracer's ultimate?`Pulse bomb
What does Tracer say when using her ultimate?`Time's up`times up
What is Tracer's real name?`Lena Oxton
What is Torbjorn's full name?`Torbjorn Lindholm
What is Soldier: 76's real name?`Jack Morrison
What is McCree's full name?`Jesse McCree
What is Ana's full name`Ana Amari
What is Reinhardt's full name?`Reinhardt Wilhelm
What is Mei's full name?`Mei-Ling Zhou
What is Mercy's real name?`Angela Ziegler
What is Genji's full name?`Genji Shimada
What is Widowmaker's real name?`Amelie Lacroix
What is Zenyatta's full name?`Tekharta Zenyatta
What is Hanzo's full name?`Hanzo Shimada
What is Pharah's real name?`Fareeha Amari
What is Roadhog's real name?`Mako Rutledge
What is Junkrat's real name?`Jamison Fawkes
What is Symmetra's real name?`Satya Vaswani
What is Lúcio's full name?`Lucio Correia dos Santos
What is D.VA's real name?`Hana Song
What is Zarya's real name?`Aleksandra Zaryanova
Which character's ultimate has the highest DPS`Roadhog
In the Beta, Junkrat's ultimate was adapted from one designed for another character. Who was that?`Bastion
How much health per second does Zenyatta's ultimate heal?`300`three hundred
What is the cooldown in seconds for Genji's Dash?`8`eight
What is the cooldown in seconds for Mcree's Roll?`8`eight
What is the cooldown in seconds for Hanzo's Sonic Arrow?`20`twenty
What is the cooldown in seconds for Orisa's Fortify?`12`Twelve
What is the cooldown in seconds for Sombra's Translocator?`4`Four
What is the cooldown in seconds for Reapers Shadow Step?` 10`Ten
What is the cooldown in seconds for Tracer's Recall?`12`twelve
What is Pharah's Ultimate called?`Barrage
What is Genji's Ultimate called?`Dragonblade
What is McCree's Ultimate called?`Deadeye
What is Reaper's Ultimate called?`Death Blossom
What is Soldier: 76's Ultimate called?`Tactical Visor
What is Sombra's Ultimate called?`EMP
What is Tracer's Ultimate called?`Pulse Bomb
What is Bastion's Ultimate called?`Configuration: Tank`Configuration:Tank`Configuration Tank
What is Hanzo's Ultimate called?`Dragonstrike
What is Junkrat's Ultimate called?`RIP-Tire`RIPtire`RIP Tire
What is Mei's Ultimate called?`Blizzard
What is Torbjörn's Ultimate called?`Molten Core
What is Widowmaker's Ultimate called?`Infra-Sight`Infra Sight`InfraSight
What is D.Va's Ultimate called?`Self-Destruct`Self Destruct
What is Orisa's Ultimate called?`Supercharger
What is Reinhardt's Ultimate called?`Earthshatter
What is Roadhog's Ultimate called?`Whole Hog
What is Winston's Ultimate called?`Primal Rage
What is Zarya's Ultimate called?`Graviton Surge
What is Ana's Ultimate called?`Nano Boost
What is Lúcio's Ultimate called?`Sound Barrier
What is Mercy's Ultimate called?`Resurrect
What are Symmetra's Ultimates called?`Teleporter and Shield Generator`Teleporter & Shield Generator`Teleporter Shield Generator`Shield Generator Teleporter`Shield Generator & Teleporter`Shield Generator and Teleporter
What is Zenyatta's Ultimate called?`Transcendence
How much Total health does Genji have?`200
How much Total health does McCree have?`200
How much Total health does Pharah have?`200
How much Total health does Reaper have?`250
How much Total health does Soldier: 76 have?`200
How much Total health does Sombra have?`200
How much Total health does Tracer have?`150
How much Total health does Bastion have?`300
How much Total health does Hanzo have?`200
How much Total health does Junkrat have?`200
How much Total health does Mei have?`250
How much Total health does Torbjörn have?`200
How much Total health does Widowmaker have?`200
How much Total health does D.Va (in Mech form) have?`600
How much Total health does D.Va (in pilot form) have?`150
How much Total health does Orisa have?`400
How much Total health does Reinhardt have?`500
How much Total health does Roadhog have?`600
How much Total health does Winston have?`500
How much Total health does Zarya have?`400
How much Total health does Ana have?`200
How much Total health does Lúcio have?`200
How much Total health does Mercy have?`200
How much Total health does Zenyatta have?`200
What is the name of Bastion's bird?`Ganymede
What is the name of the gang based in Dorado?`Los Muertos
What is Mei's robot called?`Snowball
What is Punch kid's Name?`Timmy
What is Punch kid's older brother's name?`Brian
How much health does a small health pack heal?`75
How much health does a large health pack heal?`250
How many Heroes were available to play at launch?`21
Which Omnic Organization were Zenyatta and Mondatta formerly a part of?`Shambali`the Shambali
Orignally when Overwatch was released players could choose to stack multiples of any hero on any team,it was later limited to 1 of each hero per team, and an arcade mode where heros tacking was again possble was added, what is this mode called?`No Limits
Which of these does the most damage? Genji's shuriken, Winstons leap, Ana's Rifle or Junkrats Grenade?`Ana's Rifle`ana`rifle`anas rifle
On which map was this screenshot taken? http://i.imgur.com/d02tYI5.jpg`Dorado
On which map was this screenshot taken? http://i.imgur.com/VFDOLXR.jpg`Dorado
On which map was this screenshot taken? http://i.imgur.com/XLgLEdh.jpg`Kings Row`King's Row
On which map was this screenshot taken? http://i.imgur.com/fbW965j.jpg`Hanamura
On which map was this screenshot taken? http://i.imgur.com/NMQDM7y.jpg`Hanamura
On which map was this screenshot taken? http://i.imgur.com/vxqkKQ0.jpg`Kings Row`King's Row
On which map was this screenshot taken? http://i.imgur.com/ZyVeLTU.jpg`Lijiang Tower
On which map was this screenshot taken? http://i.imgur.com/Yk8vqgn.jpg`Hollywood
On which map was this screenshot taken? http://i.imgur.com/3WKgUfA.jpg`Hollywood
On which map was this screenshot taken? http://i.imgur.com/uMcjqeW.jpg`Hollywood
On which map was this screenshot taken? http://i.imgur.com/G7xpRlQ.jpg`Hollywood
On which map was this screenshot taken? http://i.imgur.com/KXLulKa.jpg`Oasis
On which map was this screenshot taken? http://i.imgur.com/cNjKeE3.jpg`Oasis
On which map was this screenshot taken? http://i.imgur.com/2qrMC16.jpg`Volskaya Industries`Volskaya
On which map was this screenshot taken? http://i.imgur.com/xuO8PDw.jpg`Volskaya Industries`Volskaya
On which map was this screenshot taken? http://i.imgur.com/qgyW1LF.jpg`Volskaya Industries`Volskaya
On which map was this screenshot taken? http://i.imgur.com/h8zqtSf.jpg`Oasis
On which map was this screenshot taken? http://i.imgur.com/YlMy2iE.jpg`Lijiang Tower
On which map was this screenshot taken? http://i.imgur.com/5bXsDP1.jpg`Lijiang Tower
Over the design period for Overwatch, Bastion had several different ults before he got Tank mode how many including his current one did he have?`4: a mine, bouncing grenades, shooting though walls and tank mode`4
What was the first seasonal event in Overwatch called?`The Summer Games`Summer Games
What name was given to the Halloween event in Overwatch?`Halloween Terror
What name was given to the Halloween themed Brawl, which featured waves of Zombie Omnics?`Junkenstein's Revenge`Junkensteins Revenge
What was the name of the Christmas themed event in Overwatch?`Winter Wonderland
What was the name of the Lunar New Year themed event in Overwatch?`Year of the Rooster
In April of 2017, players could play a Historic Overwatch event. What was its name?`Uprising`Omnic Uprising
The Overwatch short Alive, featuring Widowmaker and Tracer, was set on which map?`King's Row`Kings Row
The Overwatch short Dragons, featuring Genji and Hanzo, was set on which map?`Hanamura
The Overwatch short Infiltration, featuring Sombra, Widomaker and Reaper, was set on which map?`Volskaya Industries`Volskaya
The Overwatch short Recall, featuring Winston and Reaper, was set on which map?`Watchpoint Gibraltar`Watchpoint: Gibraltar`Gibraltar
The Overwatch short Hero, featuring Soldier 76, was set on which map?`Dorado
What is the Undercover section of Overwatch called?`Blackwatch
-388
View File
@@ -1,388 +0,0 @@
What is Glalie's Hidden Ability?`Moody
What is Shuckle's Hidden Ability?`Contrary
What is Ash's name in the Japanese anime?`Satoshi
What is Gary's name in the Japanese anime?`Shigeru
Which Pokémon is found at Sky Pillar?`Rayquaza
In Ruby/Sapphire/Emerald you receieve an egg in Lavaridge town. Which Pokémon hatches from the egg?`Wynaut
Zorua/Zorark's illusion ability let's the take the name and appearance of which Pokémon in your party?`6th`last`6`sixth
"This Pokémon is said to live in a world on the reverse side of ours, where common knowledge is distorted and strange." Who's that Pokémon?`Giratina
What is Giratina's Hidden Ability?`Telepathy
What is Honchkrow's Hidden Ability?`Moxie
What is the only Pokémon type to not yet have a Gym that specializes in it?`Dark
What two types are the only types that are both not very effective against each other?`Bug and Fighting`fighting and bug`bug/fighting`fighting/bug`bug fighting`fighting bug`bug & fighting`fighting & bug`bug-fighting`fighting-bug
Name a bug Pokémon that can learn Fly?`Volcarona`Genesect
What Pokémon type is the most common among legendary/mythical Pokémon?`Psychic
Mow Rotom's typing was originally Electric and what?`Ghost
Who is the only Flying type with Levitate?`Fan Rotom`rotom fan`fan-rotom`rotom-fan
Who is the champion of the Hoenn region in Ruby/Sapphire?`Steven
What is Steven's signature Pokémon as champion of Ruby/Sapphire?`Metagross
Where do you find Groudon/Kyogre?`Cave of Origin`origin cave
Of the following Pokémon, which one is NOT found in trophy garden in Diamond/Pearl/Platinum: Ditto, Chansey, Pikachu?`Pikachu
Who is the Elite Four member who makes an appearance in both Kanto's and Johto's Pokémon league as Elite Four only?`Bruno
What HM does Ash teach his Greninja in the anime?`HM1`hm 1`Cut`1
Who won the Sun/Moon Nuzlocke challenge?`Grant`Gearhead`gearhead7
How many semi-pseudo Legendary Pokémon are there?`7`seven
What is a pseudo Legendary Pokémon that is NOT a dragon type?`Metagross or Tyranitar`Metagross`Tyranitar
"It disguises itself as a tree to avoid attack. It hates water, so it will disappear if it starts raining." Who's that Pokémon?`Sudowoodo
"It can freely change its body's color. The zigzag pattern on its belly doesn't change, however." Who's that Pokémon?`Kecleon
"A ball that is more effective as more turns are taken in battle." What kind of Pokéball is it?`Timer ball`Timer
What item do you need to evolve a Seadra?`Dragon Scale`Dragonscale
"A cozy ball that makes Pokémon more friendly." What Pokéball is this?`Luxury ball`Luxury
Norman is the Gym Leader of which city?`Petalburg
What town is Ash from?`Pallet Town
What is the region in Pokémon Colosseum called?`Orre
What is the name of Team Snagem's leader?`Gonzap
Shadow Lugia in Pokémon XD: Gale of Darkness is also known as...?`XD001
How do you evolve Eevee into Umbreon in Pokémon XD: Gale of Darkness?`Moon Dust
In Fire Red/Leaf Green, you encountered a legendary dog (Suicune, Raikou, Entei) based on your ________?`Starter Pokémon`starter pokemon`starter
In Gold/Silver/Crystal/Heart Gold/Soul Silver, Team Rocket stole an item and hid it in the Cerulean City Gym. What is the name of this item?`Machine Part
What is the name of a gym leader who becomes an Elite Four member in the next generation?`Koga or Iris`Koga`Iris
In Generation 1, this move can be countered for infinite damage on the turn it breaks a Substitute. What is this move?`Guillotine
Which Pokémon excluding Smeargle, can learn the most one-hit KO moves?`Lapras
Which starter type always comes first in the Pokédex?`Grass
What is the only move to start with a Y?`Yawn
What ability is a copy of Huge Power?`Pure Power
What ability is a copy of Clear Body?`White Smoke
What ability is a copy of Rough Skin?`Iron Barbs
What ability is a copy of Shell Armor?`Battle Armor`Battle armour
What ability is a copy of Emergency Exit?`Wimp Out
What ability allows the successful use of Sleep Talk without being asleep?`Comatose
What is the priority of Fake Out?`+3`Three`3
What is the priority of Extreme Speed?`+2`Two`2
What is the priority of Protect?`+4`Four`4
What pokémon has the ability Flower Gift?`Cherrim`Sunshine Cherrim
What pokémon has the ability Fur Coat?`Furfrou`Persian Alola`alola persian
What is the most common ability?`Levitate
What is the most common type?`Water
What was the only Dragon type move in Generation 1?`Dragon Rage
Who was the only Dragon type Pokémon introduced in Generation 2?`Kingdra
What must Sneasel be holding to evolve?`Razor Claw
What move must Piloswine know to evolve?`Ancient Power
What Pokémon evolves at the highest level?`Zweilous
What must Gligar be holding to evolve?`Razor Fang
How many pokémon were introduced in Generation 1?`151`one hundred and fifty one
Who is the only Pokémon to have a Pokédex number of #000?`Victini`MissingNo.
Who is the only Pokémon besides Ditto that learns Transform?`Mew
How many status conditions are there?`6`six
How many One Hit KO moves are there?`4`Four
Who is the only Generation 5 Mega Pokémon?`Audino
What is the only ability that has 3 copies of it, but with different names?`Mold Breaker`Teravolt`Turboblaze
Name a special attack priority move?`Vacuum Wave`Water Shuriken
What is the only priority multi-hit attack?`Water Shuriken
What is the only type in Generation 1 besides Normal that is not super-effective against anything?`Dragon
What berry reduces damage from Ice type attacks?`Yache Berry`Yache
What berry reduces damage from Rock type attacks?`Charti Berry`Charti
What berry reduces damage from Ground type attacks?`Shuca Berry`Shuca
What does a Custap berry increase?`Priority
What does a Ganlon berry increase?`Defense`Def
What does a Wide Lens boost?`Accuracy
What is the strongest Tier?`Anything Goes`AG
What move must Bonsly know to evolve?`Mimic
What egg group do all babies belong to?`Undiscovered
What is the only Generation without a Rock type Gym(or Island Kahuna)?`5`V`Five
What type has the fewest special attacking moves?`Rock
Who is the Elite Four Champion in Generation 2?`Lance
Who uses the infamous catch phrase 'Smell ya later'?`Blue
Where can Red be battled in Generation 2?`Mt. Silver`Mt Silver
Who is the Elite Four Champion in Generation 1?`Blue
How many different types of Evolutionary Stones are there?`9`Nine
The Unova Region is based off of what real life city?`New York City`New York`NYC
The Kalos Region is based off of what real life city?`Paris
The Alola Region is based off of what real life location?`Hawaii
How many different pokémon types are there?`18`Eighteen
How many types have been introduced since Generation 1?`3`Three
Who has the highest base attack stat?`Mewtwo X`Mega Mewtwo X
Who has the highest base HP stat?`Blissey
Who has the highest base special attack stat?`Mewtwo Y`Mega Mewtwo Y
Who has the highest base special defense stat?`Shuckle
Who has the highest base defense stat?`Shuckle
Who is tied with Mega Mewtwo X & Y with the highest base stat total?`Mega Rayquaza
Who has the highest base speed stat?`Deoxys Speed`Deoxys S
Who is the antagonistic team in Generation 6?`Team Flare`Flare
Who is the antagonistic team in Generation 5?`Team Plasma`Plasma
Who is the 'God' pokémon?`Arceus
Name a starter with a dual type?`Bulbasaur`Rowlet
What starter evolution line has more than 2 types, excluding megas?`Rowlet`Dartrix`Decidueye
Who is the first pokémon in the National Dex?`Bulbasaur
What Generation was Marill introduced in?`2`Two`II
What move must Yanma know to evolve?`Ancient Power
What move must Lickitung know to evolve?`Rollout
As Rain is to water, Sandstorm is to ______?`Rock
What Pokémon is the unofficial mother to Cubone and Marowak?`Kangaskhan
Who is the only legendary pokémon that can be either gender?`Heatran
What level does Cosmoem evolve?`53`fiftythree
What is the largest egg group?`Field`Field Egg Group
What Pokémon game first introduced a playable female character?`Crystal`Pokemon Crystal
Who is the leader of Team Rocket?`Giovanni
What is the signature move of Volcanion?`Steam Eruption
What is the only move Smeargle cannot use, but can copy?`Hyperspace Fury
What is the only move Smeargle cannot copy?`Chatter`Struggle
What is the signature move of Arceus?`Judgment
What is the signature move of Genesect?`Techno Blast
What does OU stand for?`Overused`Over Used
Smogon is German for what pokémon?`Koffing
How many Pokémon are there in the national dex?`802`eight hundred and two
Pseudo-Legendary Pokémon require a base stat total of what?`600`six hundred
How many Pseudo-Legendary Pokémon are there?`8`Eight
What Pokémon is fighting with Nidorino in the opening for Pokémon Blue and Red?`Gengar
How do you evolve Clefairy?`Moon Stone`Moon stone
What is the max happiness (friendship)?`255
What was the first game to include happiness (friendship) for Pokémon?`Pokemon Yellow`Yellow
Happiness (friendship) is mainly needed to evolve what type of Pokémon?`Baby Pokemon`Baby
Happiny must be holding what to evolve?`Oval Stone
The grand prize for winning the lottery in Pokémon is what?`Master Ball`Masterball
Safari Balls have the same catch rate as which other ball?`Great Ball`Greatball
What does Pokémon stand for?`Pocket Monster
How many forms does Furfrou have?`10`Ten
How many forms does Vivillon have?`20`twenty
What special move does Rock Star Pikachu know?`Meteor Mash
What is the only two type attack move?`Flying Press
Abilities were introduced in what generation?`3`Three
The Special/Physical split happened in what generation?`4`Four
Mew, Celebi, Jirachi, Arceus, Keldeo, and Diancie are all examples of what kind of pokémon?`Mythical pokemon`Mythical
What is Heracross' Hidden Ability?`Moxie
What is Exploud's Hidden Ability?`Scrappy
What is the Hidden Ability of Durant?`Traunt
What item increases the amount of HP returned from HP-draining moves?`Big Root
Which generation did not introduce any new fossils?`2 or 7`2`Two`7`Seven
How many weaknesses does Bug/Steel have?`1`one
How many immunities does Normal/Ghost have?`3`three
How many weaknesses does Grass/Ice have?`7`Seven
What type is the rarest type?`Ice
How many resistances does Steel have?`10`Ten
What is the rarest mono typing?`Flying
What Pokémon has the most type immunities?`Shedinja
What is the only Pokémon to have a lower base stat total than its pre-evolved form?`Shedinja
What Generation introduced the most new Pokémon?`5`Five`V
What is the lowest level any Pokémon naturally evolves at?`7`Seven
What Pokémon can be bought for 9999 coins in Pokémon Red?`Porygon
How many forms does Rotom have, excluding Pokédex Rotom?`7`seven
Dread, Earth, Pixie, Insect and Mind are all examples of what?`Plates`Plate
How many evolutions does Eevee have?`8`Eight
Cities in the Kanto Region take their name from what?`Colors`Colours`color`Colour
Rayquaza must know what move in order to Mega evolve?`Dragon Ascent
What level does Wartortle evolve at?`36
What is the only Pokémon that recieved both a pre-evolution and evolution in the same generation?`Roselia
What Pokémon has the lowest base stat total?`Sunkern
What Pokémon is known as "The Being of Knowledge"?`Uxie
What year was the first Pokémon game released?`1996
What Pokémon has the most forms?`Unown
What Pokémon has over a billion different sprites/models?`Spinda
What is the only move an Unown can learn?`Hidden Power
Hidden Power's type is based off of a Pokémon's what?`IV`IVS
What does IV stand for?`Individual Values`Individual Value
What does EV stand for?`Effort Values`Effort value
What is the max number of EVs a Pokémon can have?`510
What is the max IV a Pokémon can have in a stat?`31
What is the only way Shaymin-Sky can revert back into Shaymin during a battle?`Being frozen`Frozen`Freeze
What item transforms Shaymin into Shaymin-Sky?`Gracidea Flower`Gracidea
What item transforms the Forces of Nature trio into their Therian Forme?`Reveal Glass
What stone evolves a Floette?`Shiny Stone`Shiny
What does HM stand for?`Hidden Machine
What Pokémon that can evolve has the highest base stat total?`Porygon2`Porygon 2
How many HMs were in Generation 1?`5`five`05
In what Generation did Flash become a TM?`4`IV`four
What is the first badge of the Kanto Region?`Boulder Badge`Boulder
What is the only Pokémon with the same base stat total as its pre-evolution?`Scizor
What is the heaviest Pokémon?`Cosmoem`Celesteela
What is the biggest Pokémon by height?`Wailord
What stat does the ability Rattled raise upon activation?`Speed`spe
What is Blue's starter Pokémon in Yellow Version?`Eevee
Most Professors in Pokémon games are named after what?`Trees`Tree
What Pokémon requires you to turn your DS upside down to evolve?`Inkay
What Pokémon evolves only in the rain?`Sliggoo
What item do you need to find Shaymin in Generation IV?`Oak's Letter`oaks letter`oak letter
Where can Mewtwo be found in Pokémon Red and Blue?`Cerulean Cave
What item summons Arceus?`Azure Flute
How many spoons does Mega-Alakazam have?`5`five
What Generation first introduced shiny Pokémon?`2`II`two
Confusion damage is based off of what stat?`Attack Stat`Attack`Atk stat`Atk
How much HP does Leftovers cure every turn?`1/16`sixteenth`6.25%`one sixteenth
What is the slowest move in the game?`Trick Room
What is a special attack move that also makes contact?`Draining Kiss`Grass knot`Infestation`Petal dance`Trump card`Wring out
What move has the highest base power?`Explosion
How much do moves that hit multiple targets have their damage reduced by?`25%`1/4`Quarter`fourth
What move has the highest chance to Freeze the target?`Secret Power
What was Blizzard's accuracy in Generation 1?`90%`ninety`90
What Generation introduced the most new moves?`1`one`I
What is the lowest Accuracy for any ghost move?`100%`100
What type besides Normal was immune to Ghost in Generation 1?`Psychic
What is Super Effective against Poison besides Psychic and Ground in Generation 1?`Bug
What type of Pokémon can always escape from trapping moves and abilities?`Ghost
What determines whether you successfully run away from a battle?`Speed Stat`Speed`Spe
What Pokémon can evolve twice without leveling up?`Porygon
What type has the most amount of moves?`Normal
What was the first Pokémon created?`Rhydon
What Pokémon can learn every TM and HM?`Mew
What is Mewtwo's birthday?`February 6th`February 6`Feb 6th`Feb 6`2/6
What day can Lapras be found in Union Cave (Generation II)?`Friday
How many turns do weather effects last unboosted?`5`five
Can you name one of Meloetta's forms?`Pirouette`Aria
What is the signature move of the Swords of Justice?`Sacred Sword
What move transforms Keldeo into Resolute Form?`Secret Sword
What is the only Pokémon from Generation 6 that can Mega evolve?`Diancie
What Pokémon is called the 'Legendary Pokémon'?`Arcanine
How much does a Choice Scarf increase your Speed by?`x1.5`50%`half`fifty`1.5`150%
Was the Ghost type Special or Physical prior to Generation 4?`Physical
Besides Fairy, what type can Hidden Power not become?`Normal
What type has the fewest physical moves?`Fairy
What type has the fewest damage-dealing moves?`Fairy
What type has the fewest non-damaging moves?`Dragon
What is the most commonly gained type through Mega evolving?`Dragon
Who is the fastest non-legendary Pokémon?`Ninjask
What is the only type Greninja cannot become?`Fairy
What non-legendary Pokémon has the highest base attack?`Mega Heracross
What is the only type Grass has not been paired with?`Fire
Parental Bond's second hit is what percent of the first hit's damage?`25%`quarter`1/4`fourth
What ability specifically protects against being frozen?`Magma Armor
Name a Pokémon that has the ability Levitate and another ability?`Bronzong`Bronzor`duskull`giratina
Can you name a Pokémon in the Tao Trio?`Reshiram`Zekrom`Kyurem
Name a Ground move that can hit a Flying type Pokémon?`Sand Attack`Thousand Arrows
What is the last Pokémon in alphabetical order?`Zygarde
What is the only Pokémon to have more than one category?`Hoopa
What stat does Calcium increase?`Special Attack`special atk`Spa`Sp atk`Spatk
How many EV's does a Iron, Zinc or Protein increase a stat by?`10`ten
Which Pokémon is the only Semi-Pseudo Legendary from Kalos?`Noivern
What type was added to Alolan Raichu?`Psychic
Which Pokémon was originally intended to be the mascot (which is now Pikachu)?`Clefairy
Which Pokémon is the only Ground type Psuedo-Legendary?`Garchomp
Which Psuedo-Legendary has more than one immunity?`Hydreigon
Which Psuedo-Legendary has the highest Special Defense stat?`Goodra
Which Shadow Pokémon was owned by Evice (final boss) in Pokémon Colosseum?`Tyranitar
Which Psuedo-Legendary's pre-evolution changes its type upon evolution to the final stage?`Dragonite`Tyranitar
What is the most common typing across all fossil pokémon?`Rock
Z Bug move is called what?`Savage Spin-Out`savage spinout`savage spin out
Z Ice move is called what?`Subzero Slammer
Pikashunium Z gives Pikachu what Z move?`10,000,000 Volt Thunderbolt`10000000 volt thunderbolt`10 million volt thunderbolt`10MV thunderbolt
Guardian of Alola requires what item to use?`Tapunium Z
Which Bug type Pokémon gains an additional typing upon Mega evolution?`Pinsir
Snorlium Z upgrades which move?`Giga Impact
Z weather moves raise what stat?`Speed`Spe
What is the only Pokémon exclusive Z-move that is a status move?`Extreme Evoboost
What Pokémon is codenamed UB-02 Beauty?`Pheromosa
The individual base stats of all the Ultra Beasts are what?`Prime Numbers`Prime`Primes
What is the only GameCube game to fall under Generation II?`Super Smash Bros. Melee`Super smash bros melee`Melee
What is the first float in the Super Smash Bros. Melee stage Poké Floats?`Squirtle
Which starter from Generation II cannot be found in a Pokéball in Super Smash Bros. Melee?`Totodile
International Police agent Anabel can be battled where in Pokémon Emerald?`Battle Tower
Which game can you catch the most legendaries in?`Omega Ruby and Alpha Sapphire`Omega Ruby`alpha sapphire`Alpha sapphire and omega ruby
Who runs and maintains the Pokémon Bank?`Brigette
The Substitute doll was orignally based off of which Pokémon?`Rhydon
The MissingNo. glitch in Red and Blue duplicates which item in your bag?`6th`6`sixth`Six
What NPC Trainer has used the most unique Pokémon species in the series?`N
What NPC is noted as speaking 'very fast', and has his text speed always set to fast?`N
Which Pokémon game(s) have multiple difficulty levels?`Black and White 2`White and black 2`Black 2 and white 2`black 2`white 2`BW2`black white 2`white black 2
Beast Balls have a catch rate multiplier of what when not used on an Ultra Beast?`x0.1`0.1`0.1x`10%`1/10
Which Pokémon joined Lucario as the second Steel and Fighting type?`Cobalion
What is the only Ice move with negative priority?`Avalanche
To do the MissingNo. glitch in Gen 1, who must you talk to first?`Old Man`Oldman
How many Unown forms are there?`28
What is Charjabug's ability?`Battery
What does TCG stand for?`Trading Card Game
What Generation introduced Hidden Abilities?`V`5`five`black and white
What ability increases Special Attack by x1.5 when burned?`Flare Boost
What is the most common ability that is exclusively a hidden ability?`Rattled
What ability is a copy of Filter, but is unaffected by Mold Breaker?`Prism Armor`prism armour
RKS System will change your type if you are holding a what?`Memory`memory drive`memory disc
Besides Super Luck what ability increases your critical hit ratio?`Merciless
EP038 of the Pokémon anime was broadcasted once, then subsequently banned for reportedly causing what?`Epileptic Seizures`Seizures
What unreleased Pokémon was first featured in Pokémon: The First Movie - Mewtwo Strikes Back?`Donphan
What is the only pseudo-legendary Ash has owned?`Goodra
The Marsh Badge is awarded by which Gym Leader?`Sabrina
What is the only game where Lance doesnt use a Dragonite?`Pokemon Stadium
Besides Ditto what other pokémon is capable of breeding, but cannot be obtained through breeding?`Manaphy
What suprising Pokémon can Skitty infamously breed with?`Wailord
What move can be used outside of battle to heal your Pokémon?`Soft-Boiled`Soft boiled`Softboiled`Milk drink`milkdrink
How many eyes do the Regi's have?`7`Seven
What is the only Pokémon that learns Light of Ruin?`Eternal Flower Floette`eternal floette
Pokémon Generations featured a protagonist from every generation except VII and what?`IV`4`four
What type has been a gym or trial captain type in every generation?`Electric
What Ground type Pokémon does Blue have as the champion in Generation I?`Rhydon
The following Pokémon can be found in which city: Voltorb, Omanyte, Kangaskhan, Lapras?`Fuchsia City`Fuchsia
What is the only Pokémon whose branched evolutions both evolve further?`Wurmple
A glitch in Generation 1 allowed Pikachu or Eevee (Jolteon) to evolve after leveling up without an evolutionary stone, if what Pokémon finished the battle?`Growlithe
What Pokémon is known as the Trio Master of the Legendary Birds?`Lugia
To unlock the Regi's caves you must have who in the front of your party?`Relicanth
What is the base power of Explosion in generation 2-4 during damage calculation?`500
Whose Pokémon storage system (PC) are you using in Generation 3?`Lanette`Lanettes`Lanette's
How many boxes did you have in your PC in Generation 3?`14`fourteen
What is the only HM with a unique type?`Rock Smash
Generation IV introduced Defog and what other HM?`Rock Climb
Who is the only Pokémon that is a Fighting and Ice type?`Crabominable
Which Pokémon had the highest base Attack stat in Generation 1 and 2 (there are two, name one)?`Dragonite`Tyranitar
Who is the tallest Steel Pokémon?`Steelix
Eevee, Alomomola, and Girafarig are all what?`Palindromes`palindrome
What is the only game to not require Surf (or Lapras/Sharpedo) in order to reach the Elite Four?`Black and White`White and black`black white`white black`white`black`black & white`white & black
Kyogre, Sharpedo and what other Pokémon have unique surfing sprites in Omega Ruby and Alpha Sapphire?`Wailmer
Which Generation 2 Pokémon has the lowest base Speed stat?`Shuckle
Name one of the only two damaging moves whose animation plays out even if it has no effect or misses?`Explosion`Self-Destruct`self destruct`selfdestruct
Which Generation 4 Pokémon has the lowest base Speed stat?`Munchlax
Yo! Champ in the ______!?`Making
Darmanitan gains what type in Zen Mode?`Psychic
Shelmet will only evolve if traded for a what?`Karrablast
Which Generation 7 Pokémon has the lowest base Speed stat?`Pyukumuku
Which Baby Pokémon has the highest base stats total?`Munchlax
What Pokémon is a boss in Subspace Emissary?`Rayquaza
Sawsbuck's forms are based off of what?`Seasons`season`the season`the seasons
What item protects aginst effects caused by using a contact move on a target?`Protective Pads`protective pad
What Generation II item boosts Attack by 2 stages then confuses the holder?`Berserk Gene
What item boosts binding move's damage?`Binding Band
What virus can Pokémon catch?`Pokerus
What item boosts binding move's turn length?`Grip Claw`gripclaw
What Egg Group does Ditto belong to?`Ditto Egg Group`ditto`ditto group
What is the only Egg Group to contain a Pokémon of every type?`Undiscovered Egg Group`Undiscovered`undiscovered group
What was the first pokémon to have gender differences?`Nidoran
S.S. Aqua goes from Olivine City to where?`Vermilion City`Vermilion
What is the ferry called in Hoenn?`S.S. Tidal`ss tidal
What company makes the core-series Pokémon games?`GAME FREAK inc.`gamefreak inc.`gamefreak inc`game freak inc`gamefreak`game freak
What item is used to summon Dialga?`Adamant Orb
What is the only Pokémon to lose the ability to breed upon evolving?`Nidoran Female`female nidoran`f Nidoran`nidoran f`girl nidoran`nidoran girl
What Pokémon is the final ballon in Secret Super Training in Pokémon X or Y?`Mega Aggron`Mega Tyranitar`Mega-Aggron`Mega-Tyranitar
What Steel move does not check Accuracy, excluding Z-moves?`Smart Strike
What is Jirachi's Signature Move?`Doom Desire
What Pokémon has the most unique TCG cards?`Unown
What rare location appears randomly in Ruby/Sapphire/Emerald?`Mirage Island
Where is the only place to find a Liechi Berry in Hoenn?`Mirage Island
In Ruby/Sapphire/Emerald Pokéblock feeders in the Safari Zone attract Pokémon based on their what?`Nature
What is the only Baby Pokémon with a branched evolution?`Tyrogue
Which one of the following is NOT defined as a baby pokémon: Budew, Riolu, Tyrogue, Chingling, Eevee, Togepi?`Eevee
Which Pokémon has the highest base HP of all Fire-type Pokémon?`Entei
"It's found crawling on beaches and seafloors. The coral that grows on Corsola’s head is as good as a five-star banquet to this Pokémon." What pokémon is this?`Mareanie
Roark's father is the Gym leader of what city?`Canalave city`canalave
How many Rock-type Gym leaders are there in total (including all generations)?`4`four
What is Blaine's strongest Pokémon in Red/Blue/Yellow?`Arcanine
What Pokémon does this guy give you http://imgur.com/a/4QGNl ?`Shuckle
What Pokémon is given to you here http://imgur.com/a/p2il2 ?`Aerodactyl
What Pokémon does his guy want for his Talonflame http://imgur.com/a/L06JT ?`Bewear
This Gym leader specializes in what type of Pokémon http://imgur.com/a/hGp7I ?`Rock`rock type
What Pokémon is unique to this route(119) and can only be found in the grass http://imgur.com/a/8xj2G ?`Tropius
What Pokémon is unique to this route(119) and can only be found by fishing http://imgur.com/a/8xj2G ?`Feebas
Who is this http://i.imgur.com/yW5VlAy.png ?`Ethan
This Wormadam is Bug and what other type http://i.imgur.com/KN84zOV.png ?`Steel
What Badge is this http://i.imgur.com/bq7pO9f.png ?`Soul Badge`Soul
What Badge is this http://i.imgur.com/uNA1qIc.png ?`Balance Badge`balance
This is the symbol for what http://i.imgur.com/1kSfua0.png ?`Team Valor`Valor
What item is this http://i.imgur.com/ENr8xkN.png ?`King's Rock`Kings rock
What city is this http://i.imgur.com/AGWh0QY.png ?`Lilycove City`Lilycove
What item is this http://i.imgur.com/aE0K6WT.png ?`Hyper Potion
What berry is this http://i.imgur.com/zHQKMI5.png ?`Rawst Berry`Rawst
Who's that Pokémon http://i.imgur.com/VdqNOJR.png ?`Kingler
Who's that Pokémon http://i.imgur.com/9r7j6vX.png ?`Pikachu
Who is the Gym leader of this Gym http://i.imgur.com/uAFrxDh.png ?`Morty
What item is this http://i.imgur.com/60CIAkJ.png ?`Pokeblock Case
What Region is this http://i.imgur.com/1SDz8Vt.png ?`Sinnoh
What Region is this http://i.imgur.com/Y9FRa1b.png ?`Hoenn
Who's that Trainer http://i.imgur.com/BotTQX0.png ?`Hilbert
Who's that Trainer http://i.imgur.com/XT9YYCA.png ?`Whitney
What letter is this http://i.imgur.com/CBxO0Vl.png ?`G
Who's that Trainer http://i.imgur.com/9aQmUCo.png ?`Kris
Who's that Trainer http://i.imgur.com/FHr6z9u.png ?`Koga
What legendary is found here http://i.imgur.com/blmTRT1.png ?`Zapdos
What legendary is found here http://i.imgur.com/ihgTwAr.png ?`Suicune
Which of the following is not a real forme of Florges http://i.imgur.com/frZl8LY.png ?`#2`2
Which of the following is not a real forme of Vivillon http://i.imgur.com/pnOTZMS.png ?`#6`6
What kind of ball is this http://i.imgur.com/vyrULUt.png ?`Timer Ball`Timer
What type is this in Pokémon TCG http://i.imgur.com/N1qd6ra.png ?`Dragon
What type is this card http://i.imgur.com/kmU1x27.jpg ?`Colorless`colourless
What item is this http://i.imgur.com/0Hs5gwa.png ?`Thunderstone`Thunder Stone
What item is this http://i.imgur.com/tSmriuj.png ?`Dawn Stone`Dawnstone
-251
View File
@@ -1,251 +0,0 @@
Better to light a candle than curse the darkness.`Amnesty International
The Power of Dreams.`Honda
Think.`IBM
Better Matters`Verizon
Connecting People.`Nokia
I'm Lovin' It.`McDonald's`McDonalds
Save Money. Live Better.`Walmart
Citius, Altius, Fortius. (Faster, Higher, Stronger.)`Olympic Games`Olympics
Vorsprung durch Technik. (literally, advantage through technology)`Audi
Leading Innovation.`Toshiba
Every Little Helps.`Tesco
Don't be evil.`Google
Just Do It.`Nike
The Passionate Pursuit of Perfection.`Lexus
The Happiest Place on Earth`DisneyWorld`DisneyLand`Disney Parks
Life's Messy. Clean it Up.`Bissell
Leave the Driving to Us`Greyhound
The World On Time.`FedEx`Federal Express
Mobilizing your world.`AT&T
Don't get mad. Get Glad.`The Glad Products Company`GLAD
Life's better when we're connected.`Bank of America
You're not you when you're hungry.`Snickers
Expect great things.`Kohls
Finger Lickin' Good.`Kentucky Fried Chicken`KFC
Betcha Can't Eat Just One`Lay's`Lays
Believe in your Smellf.`Old Spice
Driving Matters.`Mazda
Go further.`Ford
The Best or Nothing`Mercedes-Benz
Get Your Own Box.`Cheez-it`Cheezit
Easy. Breezy. Beautiful.`Covergirl
Allergy Tested. 100% Fragrance Free.`Clinique
Best Possible Start`Fisher-Price
The Best a Man Can Get`Gillette
Let your fingers do the walking.`Yellow Pages
The ultimate driving machine.`BMW`Bayerische Motoren Werke
M'm! M'm! Good!`Campbell Soup Company
Citi never sleeps.`Citibank
We live in financial times.`Financial Times
The Capitalist Tool.`Forbes
When you care enough to send the very best`Hallmark
Nothing runs like a Deere`John Deere
All the news that's fit to print.`The New York Times
Fly the friendly skies.`United Airlines
Keep climbing`Delta Airlines`Delta
Army Strong`US Army`United States Army`U.S. Army
Eat fresh.`Subway
A better life, a better world`Panasonic
Think Different`Apple
Melts in your mouth, not in your hands.`M&M
Tastes so good, cats ask for it by name`Meow Mix
The Few. The Proud.`U.S. Marine Corps`Marines`Marine Corps`US Marines`US Marine Corps
Ding! You are now free to move about the country.`Southwest Airlines`Southwest
Impossible is nothing.`Adidas
Don't leave home without it.`American Express
The quick picker upper`Bounty
The world's favorite airline`British Airways
Have it your way.`Burger King
It's good to talk`British Telecom`BT
I'd walk a mile for a camel.`Camel
Does she or doesn't she?`Clairol
When it absolutely, positively has to be there overnight.`FedEx`Federal Express
No FT, no comment`Financial Times
Because I'm worth it.`L'Oreal
Good to the last drop.`Maxwell
When it rains it pours.`Morton Salt`Morton
It takes a licking and keeps on ticking.`Timex
Let's go places`Toyota
Now that's better.`Wendy's
Hello boys.`Wonderbra
A diamond is forever.`DeBeers
Breakfast of Champions`Wheaties
Do the Dew`Mountain Dew
Now that's positive energy`Energizer
Eat more chikin`Chick-fil-A`chickfila
We didn't invent the chicken. Just the chicken sandwich.`Chick-fil-A`chickfila
Every kiss begins with kay.`Kay Jewelers
More saving. More doing.`The Home Depot`Home Depot
Flavor of Now`Pizza Hut
Gimme a break`Kit Kat`Kitkat
Live Mas`Taco Bell
Bring your challenges`Prudential Financial`Prudential
We have the meats.`Arby's
Eat like you mean it.`Carl's Jr.
Be more`PBS
Imagination at work.`General Electric Company`General Electric`GE
Never Stop Improving`Lowe's
It's in there.`Prego
Bring out the best`Hellmann's`Best Foods
Open Happiness`Coca-cola
Obey your thirst`Sprite
Pizza! Pizza!`Little Caesars Pizza`Little Caesars
15 minutes could save you 15% or more on car insurance.`GEICO
Gear up for great`Office Depot
Taste the rainbow`Skittles
Are you CN what we're sayin'`Cartoon Network
The snack that smiles back.`Goldfish
The world's local bank`HSBC
Expert service. Unbeatable price.`Best Buy
Very Funny`TBS
America's most watched network`CBS
Where a kid can be a kid`Chuck E. Cheese's
The power of together`Petco
Moving forward.`Toyota
Perfect.`Reese's
Where food's the star`Hardee's
Think outside the bun`Taco Bell
World's Greatest Hamburgers`Fuddruckers
License to Grill`Chili's
It's a whole new neighborhood`Applebee's
The last great burger stand`Fat burger`fatburger
In here, it's always fridays.`T.G.I. Friday's`TGI Fridays`TGIFridays
Make it great`Pizza Hut
Better Ingredients. Better Pizza.`Papa John's
Slicing up freshness.`Arby's
American by Birth. Rebel by Choice.`Harley Davidson
There is no substitute.`Porsche
Power, beauty and soul.`Aston Martin
Save Money. Live Better.`Walmart
I am what I am.`Reebok
Between love and madness lies obsession.`Calvin Klein
Quality never goes out of style.`Levi's
Success. It's a Mind Game.`Tag Heuer
Innovation.`3M
Solutions for a smart planet.`IBM
Make Believe.`Sony
Think big.`IMAX
The miracles of science.`DuPont
Keeps going and going and going.`Energizer
Live in your world. Play in ours.`PlayStation
Challenge everything.`EA`Electronic Arts
See what we mean.`Canon
At the heart of the image.`Nikon
Share moments. Share life.`Kodak
Your vision. Our future.`Olympus
The greatest tragedy is indifference.`Red Cross
Pleasing people the world over.`Holiday Inn
For the men in charge of change.`Fortune
Stronger than dirt.`Ajax
Seafood Differently.`Red Lobster
Zoom Zoom.`Mazda
Better by Adobe.`Adobe
The road will never be the same.`Acura
Ask about it at work.`Aflac
We know money.`AIG
I can't believe I ate the whole thing.`Alka-Seltzer
The relief goes on.`Allegra
You're in good hands with Allstate.`Allstate Insurance`Allstate
Works like a dream.`Ambien
Something special in the air.`American Airlines
Behold the power of cheese.`American Dairy Association
Do more.`American Express
My life. My card.`American Express
For fast, fast, fast relief.`Anacin
Legendary reliability.`APC
Reach out and touch someone.`AT&T
Never follow.`Audi
We try harder.`Avis
Better sound through research.`BOSE
The king of beers.`Budweiser
Break through.`Cadillac
For negative people.`CameraWorld
What's in your wallet?`Capital One
For virtually spotless dishes.`Cascade
Like a rock.`Chevy Trucks`Chevy
Inspiration comes standard.`Chrysler
Will you be ready?`Cialis
Empowering the Internet generation.`Cisco Systems`Cisco
Live richly.`Citi
The antidote for civilization.`ClubMed
The source for computing and technology.`CNET
The most trusted name in news.`CNN
The silver bullet.`Coors
Healthy, beautiful smiles for life.`Crest
You'll love the way we fly.`Delta Airlines`Delta
We love to fly and it shows.`Delta Airlines`Delta
We're cooking now.`Denny's
We move the world.`DHL
Yellow. The new Brown.`DHL
Time to make the doughnuts.`Dunkin Donuts
The power of all of us.`eBay
The world's online marketplace.`eBay
When youre crazy for chicken.`El Pollo Loco
Don't just travel. Travel right.`Expedia.com`expedia
Good taste is easy to recognize.`Fancy Feast
Our business is the American dream.`FannieMae
Play. Laugh. Grow.`Fisher-Price
Fair and balanced.`Fox News
Babies are our business.`Gerber
We answer to a higher authority.`Hebrew National
57 varieties`H.J. Heinz`Heinz
Invent.`Hewlett Packard`HP
Where's the cream filling?`Hostess Cakes`Hostess
We're behind you every step of the way.`Huggies
Solutions for a small planet.`IBM
Manly yes, but I like it, too.`Irish Spring Soap
100% juice for 100% kids.`Juicy Juice
Thrive.`Kaiser Permanente
They're g-r-r-r-eat!`Kellog's Frosted Flakes`Frosted Flakes
Kid tested. Mother approved.`Kix Cereal`Kix
Share moments. Share life.`Kodak
It's time for clarity.`KPMG
When banks compete, you win.`LendingTree
Magically delicious.`Lucky Charms
Because so much is riding on your tires.`Michelin
Where do you want to go today?`Microsoft
The champagne of bottled beer.`Miller High Life
Everything you always wanted in a beer. And less.`Miller Lite
Tastes great, less filling.`Miller Lite
Wake up and drive.`Mitsubishi Motors`Mitsubishi
Medicine with muscle.`Motrin
Must see TV`NBC
Break out of the ordinary.`Nestle's Butterfinger`Butterfinger
Enjoy the ride.`Nissan
Connecting people.`Nokia
Take it all off.`Noxzema
The nighttime sniffling sneezing coughing aching stuffy head fever so you can rest medicine.`NyQuil
The mark of a man.`Old Spice
No rules. Just right.`Outback Steakhouse
Slightly ahead of its time.`Panasonic
The taste of a new generation.`Pepsi
Where the pets go.`Petco
Famously fresh.`Planter's Peanuts`Planter's
The fun develops instantly.`Polaroid
Get a piece of the rock.`Prudential
Something to smile about.`Quaker Oatmeal
Eat up`Quiznos
You've got questions, we've got answers.`Radio Shack
Ingredients for life.`Safeway
Funny name. Serious sandwich.`Schlotzky's Deli`Schlotzky's
Schhh! You know who?`Schweppes
We turn on ideas.`Seagate
The uncola.`7-Up
For the person who has everything, we have everything else.`The Sharper Image
Cover the earth.`Sherwin Williams
Always there in a pinch.`Skoal
Made from the best stuff on Earth.`Snapple
That was easy.`Staples
The network is the computer.`Sun Microsystems
Better snacking.`Sunkist
There's no equal.`Sweet 'N Low`sweet n low
Expect more. Pay less.`Target
Imagine it. Done.`Unisys
What can Brown do for you?`UPS
Visine gets the red out.`Visine
For life.`Volvo
The next stage.`Wells Fargo
We're moving beyond documents.`Xerox
Snap! Crackle! Pop!`Rice Krispies
Nothin' says lovin' like somethin' from the oven.`Pillsbury
You can trust your car to the men who wear the star.`Texaco
-128
View File
@@ -1,128 +0,0 @@
In sports, what does the acronym MVP stand for?`Most Valuable Player
Which team did the Chicago Cubs play in the 1945 World Series?`Detroit Tigers`tigers
Who was the first Latin American born player to play in Major League Baseball?`Luis Manuel Castro
Who was the first pinch hitter to score a home run in World Series play?`Yogi Berra
What country was host to the 1930 inaugural FIFA Football World Cup?`Uruguay
How many super bowls have the Denver Broncos won?`3`Three
The Stanley Cup is a championship trophy awarded annually to the playoff winner in what sport?`Hockey
What sport does Cristiano Ronaldo play?`Soccer`Football
In what year was the "Perfect 10" scoring system in gymnastics abandoned?`2006
Which NFL Quarterback has been to the most Super Bowls?`Tom Brady
What is the highest score possible in 10 pin bowling?`300
Which five-time Grand Slam tennis champion tested postive for a banned substance at the 2016 Australian Open?`Maria Sharapova
What is the regulation height for a basketball hoop (in feet)?`10`ten
The Kangaroo Hoppet is a long distance cross-country skiing race that is held in which county?`Australia
In what year was the 4 minute mile first achieved?`1954
Shaquille Rashaun O'Neal retired in 2011 from what sport?`Basketball
Name one of the two sports in which the Grand Slam tournaments are the four most import annual events:`Tennis or Golf`Tennis`Golf
El Clásico is the name given to football (soccer) matches between which two teams?`Real Madrid`FC Barcelona
Finish this phrase: You drive for show, but putt for "________"?`Dough
NASCAR is an acronym for what family-owned and operated business?`National Association for Stock Car Auto Racing
Which hockey player has won the most Stanley Cups with 11 wins?`Henri Richard
Tiger Woods became a professional golfer in what year?`1996
Who has the most wins as a head coach in the NFL?`Don Shula
Which NFL team features a helmet decal only on one side of the helmet?`Pittsburgh Steelers`Steelers
Who was the last non-quarterback to win NFL MVP?`Adrian Peterson
This current NFL quarterback, a 2010 Pro Bowler, never started a game at QB in college:`Matt Cassel
Which team won the 2016 Super Bowl?`Denver Broncos`Broncos
Which team won the 2017 Super Bowl?`New England Patriots`Patriots
Which team won the 2017 World Series?`Houston Astros`Astros
How many times has a Super Bowl went into overtime?`1`one
Which NFL team has won the most championships?`Green Bay Packers`Packers
Which boxer has never lost or tied in a match?`Floyd Mayweather`Mayweather
Which NFL Player is known for the nickname "Revis Island"?`Darrelle Revis
What do the letters in NCAA, the name of the association that regulates athletes, stand for?`National Collegiate Athletic Association
The Walker Law passed in 1920 in New York was a law regulating which sport?`Boxing
Who was the shortest player ever to play in the NBA?'Muggsy Bogues
Where did the sport of curling originate?`Scotland
Who was the last professional hockey player to play without a helmet?`Craig MacTavish
A shuttlecock is used in what sport?`Badminton
In what country did table tennis originate?`England
Which basketball team did Michael Jordan play for in college?`North Carolina Tar Heels`North Carolina`Tar heels
Which country won the 2012 UEFA European Championship?`Spain
Which team won the National Football League's first Super Bowl?`Green Bay Packers`Packers`Green Bay
In 1998, what Major League Baseball player broke the single season home run record previously set by Roger Maris?`Mark McGwire
In what year did the Houston Texans become a team in the US National Football League?`2002
How many holes are there in a full round of golf?`18`Eighteen
How much money is a US Olympic gold medalist awarded?`$25,000`25,000`25k`25000`$25000
What type of animal is the mascot for the Oakland Athletics baseball team?`Elephant
What do golfers shout to warn other golfers when they hit an errant shot?`Fore
How many teams are there in the American National Football League?`32`thirtytwo
What was the NBA player Kobe Bryant named after?`Kobe beef
In which sport does the bowler deliver the ball to the batsman?`Cricket
Which athlete has won the most Olympic medals?`Michael Phelps
In hockey, what is it called when a player scores three goals in a single game?`Hat-trick`hat trick
What year was the first Super Bowl played?`1967
What city is the baseball hall of fame located in?`Cooperstown, New York`cooperstown`cooperstown ny
In what year was the first modern Olympic Games held?`1896
How many soccer players should be on the field at the same time?`22
Who was the first black baseball player to play in the major leagues?`Moses Fleetwood Walker
What Chicago Bears running back was known as "The Galloping Ghost?"`Harold Grange
What pitcher holds the record for most complete games in an MLB career?`Cy Young
What coach came off the bench to play for his team in the Stanley Cup finals?`Lester Patrick
What NFL player returned a fumble 66 yards--to the wrong end zone?`Jim Marshall
Who was the only person in NBA history to be named Most Valuable Player, Coach of the Year, and Executive of the Year?`Larry Bird
What is the PGA record for highest score on a par-4?`16
What year did China win its first Olympic medal?`1984
Who hit an underhand serve to defeat Ivan Lendl for the 1989 French Open title?`Michael Chang
What MLB player retired with the same number of home runs as his father?`Prince Fielder
Which of the following NFL coaches has the best playoff record?`Barry Switzer
Who was the first NFL running back to finish the season with 10 or more carries and gain negative yards?`Reggie Bush
What is the record for red cards given in a single soccer game?`36`thirtysix
Which tennis player won 470 consecutive matches?`Esther Vergeer
What NFL player debuted as a professional wrestler in 2004?`Brian Urlacher
At the 2000 Summer Paralympics, how many members of the gold medal-winning Spanish basketball team were later found to have no disability?`10`ten
What is the only country to have won medals in the Winter Olympics but not the Summer Olympics?`Liechtenstein
How many world records did swimmer Mark Spitz set when he won seven gold medals at the 1972 Olympics?`7`seven
Who was the shortest player ever to play in the NBA?`Tyrone Bogues
What male tennis player has won the most Grand Slam titles?`Roger Federer
Lambeau Field is the home field of which National Football League team?`Green Bay`Packers`Green Bay Packers`packers
Who is the only head basketball coach to win both an NCAA national championship and an NBA title?`Larry Brown
What is the most common type of pitch thrown by pitchers in baseball?`Fastball
What boxer holds the record for youngest professional debut?`Alberto Arizmendi`Baby Arizmendi
What was the first sport televised in the U.S.?`Baseball
What sport has a hooker in a scrum?`Rugby
Who was the only college football player to win the Heisman Trophy twice?`Archie Griffin
Who was the first golfer to win more than $1 million in official earnings in a single year?`Curtis Strange
What professional sports league's MVP trophy is called the Podoloff Cup?`NBA`National Basketball Association
What sport is the most common cause of eye injuries in the U.S.?`Baseball
What speed skater was the first American woman to win five gold medals in Olympic competition?`Bonnie Blair
What sport did astronaut Alan Shepard play on the Moon in 1971?`Golf
Who is the heaviest player in NFL history?`Aaron Gibson
What pitcher threw the only no-hit game in World Series history?`Don Larsen
Who was the first professional football player?`William Heffelfinger
In golf, what do you call a score of 4 under par on any given hole?`Condor
What MLB player holds the record for most games played with no World Series appearances?`Rafael Palmeiro
What was the most points scored by one team in a football game?`222 points`32 touchdowns`222
What sport was officially banned in Scotland three times between 1457 and 1502?`Golf
Whose ear did Mike Tyson bite off during a 1997 boxing match?`Evander Holyfield
What sport uses a broom?`Curling
SlamBall is a member of which sport family?`Basketball
Squash is a member of which sport family?`Racket Sport`racket
In golf, what is the term for a putter used off the green?`Texas Wedge
What NHL hockey coach won the most Stanley Cups?`Scotty Bowman
What was Joe DiMaggio's nickname?`The Yankee Clipper
Who was the first NHL goalie to score a goal?`Billy Smith
What Dallas Cowboys player became known as "Mr. Cowboy"?`Bob Lilly
What were the Philadelphia 76ers originally named?`Syracuse Nationals
Where were the Utah Jazz originally located?`New Orleans
What NFL quarterback is the great-great-great-grandson of Brigham Young?`Steve Young
What is the only city to win three major sports championships in the same year?`Detroit
What is the fastest MMA knockout of all time?`1 Second`1s`1 s
What NFL team holds the record for most consecutive losses?`Tampa Bay Buccaneers`Bucs`Buccaneers
Who holds the record for most NASCAR wins?`Richard Petty
Who is the only heavyweight boxing champion to retire with an undefeated record?`Rocky Marciano
What is the record for most rebounds in an NBA game?`55`fiftyfive
What school holds the record for most consecutive NCAA Basketball Titles?`UCLA
Who was on the cover of the first Madden football game?`John Madden
What player has the most hits in MLB history?`Pete Rose
Who holds the record for most consecutive Wimbledon titles?`Martina Navratilova
Who was the youngest pitcher to throw a no-hitter?`Amos Rusie
What boxer holds the record for most career knockouts?`Archie Moore
What MLB player holds the record for most Grand Slams in one inning?`Fernando Tatís`Fernando Tatis
What team holds the record for most consecutive NBA titles?`Boston Celtics`Celtics
What NFL player holds the record for most career receiving yards?`Jerry Rice
Who holds the record for most consecutive PGA Tour wins?`Byron Nelson
What player holds the record for most consecutive games played in the NFL?`Brett Farve
What player was nicknamed "Mr. Hockey"?`Gordie Howe
Toe Blake ended his playing career after a collision with what player?`Bill Juzda
-287
View File
@@ -1,287 +0,0 @@
What is the name of Anakin Skywalker's Mother?`Shmi Skywalker`Shmi
Who is Darth Vader?`Anakin Skywalker`Anakin
What was the name of the Grand-Moff who controlled the Death-Star?`Grand-Moff Tarkin`Tarkin
How many sith lords could there be at one time?`Two`2
Who was the chancellor before Chancellor Palpatine?`Chancellor Valorum`Valorum
What was the name of Anakin Skywalker's Apprentice in Star Wars: The Clone Wars?`Ashoka`Ashoka Tano
Where did Luke grow up?`Tatooine
Who shot first?`Han Solo`Han`Solo
Who wrote the original Star Wars music soundtrack?`John Williams`Williams
Where did Rey grow up?`Jakku
What was the cartel family who ruled over Tatooine?`The Hutt Cartel`The Hutts`Hutt`Hutts`Hutt Cartel
Finish The Quote: This is how liberty dies___`with thunderous applause
Who played Chewbacca?`Peter Mayhew`Mayhew
Who played Han Solo?`Harrison Ford`Ford
Who played Luke Skywalker`Mark Hamill`Hamill
What is the name of the song when Han solo gets stabbed?`Torn Apart
Who played Leia Skywalker?`Carrie Fisher`Fisher
Who played Rey?`Daisey Ridley`Ridley
In The Force Awakens, what is Finn's Stormtrooper ID?`FN-2187
Who voiced Darth Vader?`James Earl Jones`Jones
Who is the most hated character in the star wars universe?`Jar Jar Binks`Binks`jarjar`jar jar
Who Played Finn?`John Boyega`Boyega
Who Plays Poe Dameron?`Oscar Isaac`Isaac
Who created Star Wars?`George Lucas`Lucas
What was the cloning planet in Episode II, Attack of the Clones?`Kamino
Who voiced Yoda and controlled the puppet yoda in the original trilogy?`Frank Oz
Who played Ben Kenobi?`Sir Alec Guinness`Guinness
Finish The Quote: Why, you stuck up, half-witted, scruffy-looking____`Nerf herder
What was 2187?`Leia's Cell
Who failed Anakin?`Obi Wan Kenobi`Obi Wan`Kenobi
Finish The Quote: I find your lack of faith ____`disturbing
Finish The Quote: You underestimate my ___`power
Finish The Quote: May the ___ be with you.`force
Who said "He was too dangerous to be kept alive"?`Palpatine`The Emperor`Mace Windu`Windu
Who said "Army or not, you must realise you are doomed"?`Grievous`General Grievous
Finish The Quote: Always 2 there are ______`a master and an apprentice
How many lines did Luke have in The Force Awakens?`none`nada`zero`0
How many lines did Boba Fett have in all of the movies?`18`eighteen
True or False: Darth Vader was born on the same day as Luke and Leia.`True
Finish The Quote: I love you. ____.`I know
What system was blown up by StarKiller Base?`The Hosnian System`Hosnian
What planet was blown up by The Death Star?`Alderaan
Who learned a path to immortality?`Qui Gon Jinn`Qui Gon`Obi Wan`Obi Wan Kenobi`Yoda`Anakin`Vader`Darth Vader
What planet did Obi Wan exile himself to?`Tatooine
What planet did Yoda exile himself to?`Dagobah
What planet was the Rebel Base on in "A New Hope"?`Yavin 4
What planet was the Rebel Base on in "The Empire Strikes Back"?`Hoth
What planet was the Rebel Base on in "Return of the Jedi"?`No planet
What planet was the Resistance Base on in "The Force Awakens"?`D'Quar
Who was the Sith Lord who was before Palpatine?`Plagueis`Darth Plagueis`Darth Plagueis the Wise
Who said the line "It's a Trap?"`Ackbar`Admiral Ackbar
What forest moon is the second Death Star orbiting?`Endor
What is the name of the Clone often shown fighting alongside Anakin Skywalker?`Captain Rex`Rex
What is the name of the Clone often shown fighting alongside Obi-Wan Kenobi?`Commander Cody`Cody
Who was Count Dooku's Original Master?`Yoda
What was the name of the Sith Assassin in The Clone Wars?`Asajj Ventress`Ventress
What command told the clones to kill all Jedi?`Order 66`66
What planet did Padmé Amidala come from?`Naboo
What planet had two suns?`Tatooine
What planet was the sight of Obi-Wan's failure of Anakin?`Mustafar
What is Emperor Palpatine's sith name?`Darth Sidious`Sidious`Sid
What command told the clones to capture the Chancellor?`Order 65`65
What Clones did not commit order 66?`Captain Rex`Rex`Wolfe`Commander Wolffe`Gregor`Commander Gregor
Who was The Grand Inquisitor before he became an agent of the Sith?`A temple guard`temple guard
True or False: Most of the Inquisitors were temple guards.`True
Who was the leader of the pirates?`Hondo`Hondo Onaka`Onaka
What planet was General Grievous hiding on?`Utapau
What planet had the Nightsisters?`Dathomir
Which Jedi Master died on Felucia?`Aayla Secura
Which Jedi Master died on Mygeeto?`Ki Adi Mundi
Which planet did the CIS die on?`Mustafar
Finish The Quote: Not even the ___ survived.`Younglings
How many names did Dooku have?`2`two
Who was Darth Tyranus?`Count Dooku`Dooku
Who voiced Darth Bane in Star Wars: The Clone Wars?`Mark Hamill`Hamill
Who plays Kylo Ren?`Adam Driver`Driver
Who is Kylo Ren's Father?`Han Solo`Han`Solo
What is the name of the order Ren belongs to?`The Knights of Ren`Knights of Ren
Who killed Qui-Gon Jin?`Darth Maul
Who "killed" Darth Maul in the movies?`Obi-Wan Kenobi`Obi-Wan`Kenobi
What planet do wookies come from?`Kashyyyk
What is the name of the Anthology Film set to release in December of 2016?`Rogue One`Star Wars:Rogue One
How fast did the Millennium Falcon do the Kessel Run?`12 Parsecs
What is the name of the new astromech droid in TFA?`BB-8
According to C-3PO, Why wouldn't Han recognize him in TFA?`Red Arm`The Red Arm
What was Han Solo frozen in?`Carbonite
Who betrayed Han Solo in Cloud City?`Lando Calrissian`Lando`Calrissian
How many titles/names did Palpatine have?`4`four
What planet did Yoda find Darth Bane on?`Korriban
Who created the rule of 2?`Darth Bane
What other TV show did Mark Hamill guest voice on?`Avatar The last Airbender`ATLA
How many lines did Darth Maul have in the movies?`5`five
What species was Darth Maul?`Dathomirian Zabrak
What ship did Han Solo pilot?`Millennium Falcon`Falcon
True or False: Tatooine was filmed in Tunisia.`True`T
True or False: George Lucas left a dragon skeleton in a Tunisian Desert`True`T
Who played Supreme Leader Snoke in TFA?`Andy Serkis`Serkis
How many limbs did Anakin lose?`5`five
How many limbs did Luke lose?`1`one
What was Rex in command of? `The 501st`501st`501st Legion
What was Jabba's "pet"?`Rancor
How many Star Wars films did George Lucas intend to create before he changed his mind?`9`Nine
What was the original title of "Return of the Jedi"?`Revenge of the Jedi
Who was supposed to take Dooku's place as the sith lord?`Jar Jar Binks`Binks`Jar Jar
What is the name of the Leader of the Gungans?`Boss Nass`Nass
What is JJ Abrams nick name?`Jar Jar Abrams
Who is Kanan Jarrus' apprentice? `Ezra`Ezra Bridger
Who was the actor that portrayed Darth Vader?`David Prowse`Prowse
Who sought out Darth Maul to save him?`Savage Opress`Opress
What planet do the Mon Calamari come from?`Mon Cala
What City-Planet is the center of all politics in the Republic?`Coruscant
What species is Watto?`Toydarian
Who framed Ahsoka Tano?`Barriss Offee
How many blades does a temple guards lightsaber have?`two`2
Where did Obi Wan, Padme, and Anakin go to be executed?`Petranaki Arena
Where was Arc Trooper Echo fatally injured and captured to be used against the Republic?`The Citadel
What Jedi General turned to the dark side?`General Krell`Krell
What Squad consisted of Echo, Fives, Heavy, Droidbait and Cut Up?`Domino`Domino Squad
Where did 3/5ths of the Domino Squad die?`Rishi Station
What clone died in the Droid Attack Of Kamino?`99`ninety-nine`ninety nine`ninetynine
Who chanted "For the Republic" before he died?`Commander Thorn
Who became leader of the Banks and died soon after?`Rush Clovis`Clovis
What ability did Emperor Palpatine and Count Dooku have?`Sith Lightning`Lightning
What is the name of the first (known) female stormtrooper?`Captain Phasma`Phasma
Who did Obi Wan Love?`Duchess Satine
How many Stormtroopers hit a main character?`1`one
What was the name of Jabba's Right-Hand Man?`Bib-Fortuna`Bib Fortuna`Fortuna
What was the name of the Bounty Hunter sent to the Jedi Temple to steal a holocron in Star Wars: The Clone Wars?`Cad Bane`Cad`Bane
Where did the Clone Wars begin?`Geonosis
Who is the general of the First Order?`General Hux`Hux
Who plays General Hux in TFA?`Domhnall Gleeson`Gleeson
Who plays Unkar Plutt in TFA?`Simon Pegg`Pegg
Who played Obi-Wan Kenobi in the prequel trilogy?`Ewan McGregor`McGregor
Who plays Shmi Skywalker in the Prequel Trilogy?`Pernilla August`August
How many movies has Chewbacca been in?`5`five
Who is Kylo Ren?`Ben Solo
Who plays young Anakin Skywalker in The Phantom Menace?`Jake Lloyd`Lloyd
Who plays teenage Anakin Skywalker?`Hayden Christensen`Christensen
What was the name of General Grievous' Superweapon in Star Wars: The Clone Wars?`Malevolence
Who was the model for the Clone Trooper?`Jango Fett
What was the name of the radical government group on Mandalore?`Deathwatch
What was the name of the bar that Ben & Luke met Han Solo?`Mos Eisley`Mos Eisley Cantina`Chalmun's`Chalmun's Cantina`Chalmun's Spaceport Cantina
What is the name of Boba Fett's Ship?`Slave 1
What is the name of Anakin Skywalker's astromech droid?`R2-D2`R2d2`R2 D2
What was the name of the protocol droid made by Anakin Skywalker?`C-3PO`c3PO`C 3PO
What is the name of Obi-Wan Kenobi's Astromech droid?`R4-P17`R4p17`R4 P17
What is Captain Rex's Clone number?`CT-7567`7567`ct7567`ct 7567
Who is Hera Syndulla's father?`Cham Syndulla`Cham
Who voices Obi-Wan Kenobi in Star Wars: The Clone Wars?`James Arnold Taylor`James Taylor`Taylor
What is the name of the blue bounty hunter in the first season of Clone Wars?`Cad Bane
What planet was under separatist attack in the Clone Wars Movie? Christophsis
What color is Obi-Wan's Lightsaber?`Blue
What color is Mace Windu's Lightsaber?`Purple
What color is Darth Vader's Lightsaber?`red
What color is Count Dooku's Lightsaber?`red
What color is Darth Sidious' Lightsaber?`red
What color is Yoda's lightsaber?`green
What color is Anakin Skywalker's lightsaber?`blue
What color is Qui-Gon Jin's lightsaber?`green
What color is Luke Skywalker's first lightsaber?`blue
What color is Luke Skywalker's second lightsaber?`green
What color is Rey's lightsaber?`blue
What color is Kylo Ren's lightsaber?`Red
What color is Ahsoka Tano's First Lightsaber?`Green
What color were Ahsoka Tano's Dual Lightsabers?`White
What color is Luminara Unduli Lightsaber?`Green
What color is Kid-Ad Mundi's Lightsaber?`Blue
What color are Asajj Ventress' lightsabers?`Red
What color are Darth Maul's lightsabers?`Red
What color were uniforms did the Emperor's royal guards wear?`Red
What color uniforms did First Generation clones wear?`White
What color detailing did Captain Rex have on his uniform?`Blue
What were the name of the mobile sphere-like droids that could pop up into a turret?`Droidekas
Where were the droid factories located in Episode II, Attack of the Clones?`Geonosis
How many Inquisitors are after The Rebels in the 2nd season?`2`two
Who was the Trade Federation Leader?`Nute Gunray `Nute `Gunray
Who was the leader of the Techno Union?`Watt Tambor`Watt`Tambor
What creature was in the Sand Pits of Carcoon?`Sarlacc
How many clones were ready when Obi Wan went to Kamino?`200000`200,000`two hundred thousand
Where was the secret Jedi temple in Star Wars: Rebels?`Lothal
Who did Ezra meet on Morriban?`Maul
Who killed 2 of the 3 new inquisitors in Star Wars Rebels season 2 finale?`Maul
Who did Ahsoka fight in the Star Wars Rebels season 2 finale?`Darth Vader`Vader
Who blinded Kanan?`Maul
What color is Ezras new lightsaber in season 3?`Green
Where does Maul take Ezra?`Dathomir
Who does Maul see in his vision?`Obi Wan
Who is Fulcrum in season 1 of rebels?`Ahsoka
Who is Fulcrum in season 3 of rebels?`Agent Kallus`Kallus
Who is the new Admiral that psi is happy thats canon?`Thrawn
What race is Grand Admiral Thrawn?`Chiss
Who built/designed the Death Star?`Galen Erso`Galen
Who is the 3rd tv series character to get the spotlight in a star wars film?`Saw`Gerrera`Saw Gerrera
Who is Galen Ersos Daughter?`Jyn Erso`Jyn
Who was in charge of the death star before Tarkin?`Krennic
Who is the Mon Cala Admiral in Rogue One?`Raddus
What does Sabine find in Mauls home on dathomir?`The Dark Saber`Dark Saber
Who is the Mandalorian that Kanan captures?`Fen Rau`Fen`Rau
What is the name of the protocol droid in Rogue One?`K-2SO`k2so
What was the name of the male lead in Rogue One?`Cassian
What title did Cassian hold?`Fulcrum
What planet held the Death Star plans?`Scarif
Where was Saw Gerrera hiding?`Jedha
Which protagonists die in Rogue One?`Everyone`all of them`everybody
What Troopers accompany Krennic?`Death Troopers
How did Rogue One recreate Tarkin?`CGI
Where is Darth Vaders Castle?`Mustafar
Where is the Star Wars rebel crew during Rogue One?`Scarif
What is the name of Star Wars: Episode VIII?`The Last Jedi
Who does Obi Wan duel on Tatooine?`Maul
Where does Qui Gon die?`Naboo
Where does Adi Galia die?`Florum
What pirate appears in Rebels?`Hondo
What force being shows itself in rebels season 3?`The Bendu`Bendu
I am one with the force, and _____?`the force is with me
Are Jedha and Scarif destroyed?`No
Who is the leader of the Imperial Super Commandos?`Gar Saxon`Saxon
Who is the leader of the now destroyed Protectors?`Fen Rau`Rau
What do the Rebels find on Geonosis?`the last geonosian`a geonosian queen egg`genosian queen egg`last genosian
What color is Ezras Lightsaber?`Blue`Geeen
What is the name of the Imperial pilot who defected to the Rebels in Rogue One?`Bodhi Rook`Bodhi
Who was the commander in charge of construction of the second Death Star?`Moff Jerrod`Moff Jer Jerrod
Where are C-3P0's ears located?`neck`his neck
What is the last name of the father-daughter pair who had a hand in the design of the Victory and Imperial Class Star Destroyers as well as the A-Wing fighter?`Blissex
In Legends canon who was the secret lover of Grand Moff Tarkin?`Admiral Daala
What is the official service designation of the standard TIE Fighter?`ln`TIE ln
Who founded the Tibanna Gas Mining facility called Cloud City?`Lord Ecclessis Figg`Lord Figg`Figg
What docking bay berth housed the Millenium Falcon when Luke Skywalker boarded it for the first time?`94
The designation of the garbage compactor on the first Death Star where the Dianoga assaulted the escaping rebels was?`3263827
What Detention Block did the Empire place Princess Leia in upon her arrival to the Death Star?`AA-23`AA23
What ancient Wookie hero is Chewbacca's namesake?`Bacca
What model of light freighter is the Millenium Falcon?`YT-1300`YT1300
What was the name of the Imperial Star Destroyer that sent a boarding party over to Tantive IV?`Devestator
What was the name of the Imperial Star Destroyer that crashed onto the surface of Jakku?`Inflictor
What was the capital of the New Republic prior to its relocation to Hosnian Prime and subsequent destruction at the hands of the First Order?`Chandrilla
Who is the manufacturer of the sport blaster carried by Princess Leia at the Battle of Endor?`Sorosub
What was Emperor Palpatine's First name?`Sheev
Who was Darth Maul's mother?`Nightsister Talzin`Talzin`Mother Talzin
Name the homeworld of the ancient Sith species?`Moraband`Korriban
Who is the only pilot to survive the tactical assaults on both Death Stars?`Wedge Antilles
The first article of the Resol'nare (Six Actions) of the Mandalorian Codex demands that warriors wear what?`armor
Can you name the company that manufactures the Z-6 Jetpack commonly associated with Mandalorian culture?`Mitrinomon Transports`Mitrinomon
Who modernized the Resol'nare (Six Actions) of the Mandalorian Codex for modern use prior to the Clone Wars?`Jaster Mereel`Mereel
Who is Jango Fett in relation to Jaster Mereel?`adopted son`son
What is the homeworld of the Mereel line of Journeyman Protectors?`Concord Dawn
In Legends canon what race is Grand Admiral Thrawn?`Chiss
The name of the Imperial Officer that was choked by Darth Vader on the Death Star for his lack of faith was?`General Cassio Tagge`Tagge`Cassio Tagge
Can you name the leader of the Onderon Resistance against the newly formed Empire at the conclusion of the Clone Wars?`Saw Gerrera`Gerrera
What is the literal interpretation of the words Teräs Käsi?`steel hands
Who is the most notable force sensitive to couple Teräs Käsi techniques into their lightsaber style?`Darth Maul`Maul
Which block variant of the X-Wing Fighter was flown by the Rebellion for the duration of the Galactic Civil War?`T-65B`T65B
What rank did Luke Skywalker hold during The Battle of Hoth?`Commander`cmdr
Who was Luke's gunner during The Battle of Hoth?`Dak Ralter`Dak
What was the callsign of the Rouge Squadron Snowspeeder that located Luke and Han on Hoth?`Rogue 2`Rogue Two
What is the deignation of the red Astromech Droid that breaks down after Uncle Owen Purchased it from the Jawas?`R5-D4`R5D4
What is the name of the Great Pit in which the Sarlacc resides?`Great Pit of Carkoon`Carkoon
What ship does Luke claim to bullseye Womp Rats in?`T-16 Skyhopper`T-16`t16
How many TIE fighters pursue the Millenium Falcon during its escape from the first Death Star?`4`four
What is the name of the head of the Alliance at the time of the Battle of Endor?`Mon Mothma
Who was the Rebel ground commander during the Battle of Hoth?`General Rieekan`Rieekan
Who was the Imperial ground commander during the Battle of Hoth?`General Veers`veers
Who was the Imperial fleet commander prior to the jump to the Hoth System?`Admiral Ozzel`ozzel
Who succeeds Admiral Ozzel as the Imperial fleet commander after the jump into the Hoth system?`Admiral Piet`Captain Piet`piet
What is the name of the cyborg in charge of Cloud City's administrative functions during Lando Calrissian's tenure as governor?`Lobot
Why must the payload during the assault on the first Death Star be Proton Torpodoes?`The exhaust port is ray-shielded`ray shield`ray shielded`ray shielding
What race were the spies who acquired the plans to the second Death Star for the Alliance?`Bothan`bothans
Who wass Wedge Antilles gunner during the Battle of Hoth?`Wes Janson`Janson
What does AT-AT stand for?`All Terrain Armored Transport
What was the name of Darth Vader's flagship from the Battle of Hoth to the Battle of Endor?`Executor
What was the callsign of the shuttle the Rebels used to penetrate the shield and land on Endor?`Tydirium
What was Wedge Antilles comm designation during the Battle of Yavin?`Red Two`red 2
What was Luke Skywalker's comm designation during the Battle of Yavin?`Red Five`red 5
What was Biggs Darklighter's comm designation during the Battle of Yavin?`Red Three`red 3
What does Luke tell Uncle Owen he wants to pick up at Toche Station?`power converters
What language do the Moisture vaporators speak on the Lars Farmstead?`binary
What does Darth Vader disallow the assembled bounty hunters to do in their pursuit of the Millenium Falcon and its crew?`disintegration`disintegrations
What does Admiral Piet call the assembled bounty hunters on his Star Destroyer bridge?`scum
What is the designation of the Stormtrooper that Luke Skywalker assumes the identity of on the first Death Star?`TK-421`tk421
How many landspeeders are in the Lars garage?`Two`2
What it the total amount of payment Obi-Wan Kenobi guarantees Han Solo while in Mos Eisley Cantina?`10,000 Galactic Credits`ten thousand`10,000`10000
What is damaged that prevents the Falcon from going to lightspeed during its escape from Hoth?`The Hyperdrive Motivator`hyperdrive motivator
What battle does Lando joke about his participation being a factor in securing the rank of General in the Alliance?`Battle of Taanab`tanaab
Can you name the Rodian Bounty Hunter who confronts Han Solo about his overdue payment to Jabba?`Greedo
What planet does Princess Leia name as the location of the Rebel Base during interrogation on the first Death Star?`Dantooine
What is the name of the substance Luke is submerged in on Hoth to accelerate the healing process of his wounds?`Bacta
Where is Luke ambushed by Tusken Raiders during his search for R2-D2 and Ben Kenobi?`Jutland Wastes`jutland
How fast does Han Solo claim the Millenium Falcon made the Kessel Run in?`less than 12 parsecs`under 12 parsecs`under twelve parsecs`less than twelve parsecs`12 parsecs`twelve parsecs`<12 parsecs
-55
View File
@@ -1,55 +0,0 @@
What is the USA state capital of Alabama?`Montgomery
What is the USA state capital of Montana?`Helena
What is the USA state capital of Alaska?`Juneau
What is the USA state capital of Nebraska?`Lincoln
What is the USA state capital of Arizona?`Phoenix
What is the USA state capital of Nevada?`Carson City
What is the USA state capital of Arkansas?`Little Rock
What is the USA state capital of New Hampshire?`Concord
What is the USA state capital of California?`Sacramento
What is the USA state capital of New Jersey?`Trenton
What is the USA state capital of Colorado?`Denver
What is the USA state capital of New Mexico?`Santa Fe
What is the USA state capital of Connecticut?`Hartford
What is the USA state capital of New York?`Albany
What is the USA state capital of Delaware?`Dover
What is the USA state capital of North Carolina?`Raleigh
What is the USA state capital of Florida?`Tallahassee
What is the USA state capital of North Dakota?`Bismarck
What is the USA state capital of Georgia?`Atlanta
What is the USA state capital of Ohio?`Columbus
What is the USA state capital of Hawaii?`Honolulu
What is the USA state capital of Oklahoma?`Oklahoma City
What is the USA state capital of Idaho?`Boise
What is the USA state capital of Oregon?`Salem
What is the USA state capital of Illinois?`Springfield
What is the USA state capital of Pennsylvania?`Harrisburg
What is the USA state capital of Indiana?`Indianapolis
What is the USA state capital of Rhode Island?`Providence
What is the USA state capital of Iowa?`Des Moines
What is the USA state capital of South Carolina?`Columbia
What is the USA state capital of Kansas?`Topeka
What is the USA state capital of South Dakota?`Pierre
What is the USA state capital of Kentucky?`Frankfort
What is the USA state capital of Tennessee?`Nashville
What is the USA state capital of Louisiana?`Baton Rouge
What is the USA state capital of Texas?`Austin
What is the USA state capital of Maine?`Augusta
What is the USA state capital of Utah?`Salt Lake City
What is the USA state capital of Maryland?`Annapolis
What is the USA state capital of Vermont?`Montpelier
What is the USA state capital of Massachusetts?`Boston
What is the USA state capital of Virginia?`Richmond
What is the USA state capital of Michigan?`Lansing
What is the USA state capital of Washington?`Olympia
What is the USA state capital of Minnesota?`St. Paul
What is the USA state capital of West Virginia?`Charleston
What is the USA state capital of Mississippi?`Jackson
What is the USA state capital of Wisconsin?`Madison
What is the USA state capital of Missouri?`Jefferson City
What is the USA state capital of Wyoming?`Cheyenne
What is the USA territory capital of American Samoa?`Pago Pago
What is the USA territory capital of Guam?`Hagatna`Agana
What is the USA territory capital of Northern Mariana Islands?`Capitol Hill
What is the USA territory capital of Puerto Rico?`San Juan
What is the USA territory capital of U.S. Virgin Islands?`Charlotte Amalie
-299
View File
@@ -1,299 +0,0 @@
What is the original name given to the blood elves?`Sin'dorei`sin dorei`sindorei
Dalaran once rested in Silverpine Forest before being transported to Northrend, True or False?`False
The curse of flesh was the cause behind the creation of the dwarves, True or False?`True
Onyxia used to spy on Stormwind in the guise of a chief advisor. What did she call herself while under her human form?`Lady Katrana Prestor`katrana`katrana prestor
Which of the following is the only raid in world of warcraft where you can play a game of chess?`Karazhan
At level 46, what instance are you probably doing?`Zul'Farrak`zulfarrak
You were grinding in Western Plaguelands when you found Wildheart Bracers, which class would want this?`Druid
Which boss at the start of the battle yells out, "New toys? For me? I promise I won't break them this time"?`XT-002 Deconstructor`xt002`deconstructor`xt002 deconstructor`xt002deconstructor
"You call on da beast, you gonna get more dan you bargain for!", is a quote by which shapeshifting boss?`Nalorakk
"I think I made an angry poo poo. It gonna blow!" is a classic line from which Icecrown Citadel boss?`Rotface
Which former bully now five man dungeon boss yells out "Blades of Light!"?`Herod
In lore, who was apprenticed to Medivh the prophet?`Khadgar
who was formerly Jaina Proudmoore's beloved, before he turned to the Scourge?`Arthas
who is the Dragon ruler of the Blackrock Mountain?`Nefarion
Who is the Dragonqueen of the Red Dragonflight?`Alexstrasza
Who was elected 25 000 years ago as chief lieutenant of Sargeras?`Kil'Jaeden`kiljaeden`kil jaeden
Who is the major deity worshipped by the Night Elves?`Elune
Of what race were the naga before they mutated?`Night Elves`nightelves
Who is the fabled creator of the land, in Tauren Mythology?`Earth Mother`earthmother
Of which nation was the old Lordaeron capital?`Arathor
Which Elemental Lord was represented by water?`Neptulon
If an item or piece of equipment is considered 'epic', what color represents it?`Purple
What is the name of the eye that warlocks use to scout ahead?`Kilrogg
What tier 11 armor set is designed for Priest's?`Mercuria
What is the tier 6 armor set designed for Warlocks?`Malefic
What is the tier 6 armor set that is designed for Mages?`Tempest
What is the tier 6 armor set that is designed for Warriors?`Onslaught
What is the tier 10 armor set that is designed for Death Knight's?`Scourgelord
What is the tier 18 armor set that is designed for Rogue's?`Felblade
What is the tier 10 armor set that is designed for Paladin's?`Lightsworn
What profession do you need to be to make a linen shirt?`Tailoring
Crusader is a product of which profession?`Enchanting
What profession is able to make Flask of Titans?`Alchemy
What is the highest level you can get to in "The Wrath of the Lich King"?`80
What is the name of the Lich King's sword?`Frostmourne
What's the name of the mountain that borders Burning Steppes and Searing Gorge?`Blackrock
What level is required to fly?`60
What is the name of the place that borders the Wetlands and Arathi Highlands?`Thandol Span`Thandol Valley
What is the name of the place in Dun Morogh that is browned out on the map if not yet discovered that borders Ironforge to the west and Northgate Outpost to the east?`Ironforge Airfield
On which continent is Theramore Isle located?`Kalimdor
Felwood is a level 45-50 zone, True or False?`True
Which Molten Core boss has two hounds guarding him?`Golemagg
How many minions does the fourth boss of Molten Core, Garr, have?`Eight`8
Finish this Ragnaros quote, "Too soon! You have awakened me too soon, ______!"`Executus
Everyone put on your Onyxia Scale Cloaks! If you don't, you could be afflicted by what?`Shadowflame
The Prophet Skeram is the first boss of The Temple of Ahn'Qiraj, he has a single target attack that dishes out gobs of nature damage when he is not being tanked in melee range. What is it?`Earth Shock`earthshock
The spell called Rebirth can be used to bring back a dead player "during" combat, what class can use it?`Druid
There is a rare monster you need to kill for two achievements in Northrend. His name is Old Crystalbark. Where can this monster be found?`Borean Tundra
Leading the Cavalry is an achievement you get for collecting fifty mounts, but what special mount do you get for completing it?`Albino Drake
"I will freeze you from within until all that remains is an icy husk!" This is yelled by which boss in Icecrown Citadel?`The Lich King`lich king
Which Pit Lord says: "Illidan is an arrogant fool! I will crush him and reclaim Outland as my own!"?`Magtheridon
Which Vanilla boss yells "TASTE THE FLAMES OF SULFURON!"?`Ragnaros
"I serve a new master now, mortals!" is yelled by which Firelands boss?`Alysrazor
...So Thousand Needles is flooded. During what campaign did that happen?`Cataclysm
Where is it possible to get your 'Sea Legs' and the ability to breathe under the sea?`Vashj'ir`vashj ir`vashjir
In "Mists of Pandaria", you can become what newly introduced class?`Monk
What is the name of the area that the Horde garrison is located?`Frostwall
What is the name of the area that the Alliance garrison is located?`Lunarfall
The First Aid profession starts you off making bandages of what material?`Linen
In which region of the game would you be likely to find Frostweave Cloth to be used for First Aid?`Northrend
Archaeology was the fourth of the core professions to be introduced. It was added during which expansion?`Cataclysm
How many resources does a team need in Arathi Basin to win?`1600`sixteen hundred`one thousand six hundred`one thousand and six hundred
In what region is the Alliance Arena Battlemaster in Kalimdor situated?`Tanaris
Who is the Mushan world boss in Pandaria?`Galleon
Who is the final boss in the Blackrock Foundry raid?`Blackhand
Who is the storm watcher in the Vault of Archavon?`Emalon
Who is The king of Utgarde?`Ymiron
Who is the partner of 'Romulo' found in Karazhan?`Julianne
Which eredar betrayed the draenei of Argus to take his place as the sinister hand of the dark titan Sargeras?`Archimonde
After falling to Grommash's blade, who did Gul'dan reanimate to serve the Burning Legion?`Mannoroth
Who was The Thunder King found in Throne of Thunder?`Lei Shen
Which race was the first mortal race on Azeroth?`Trolls
What's the name of Thrall's wolf companion?`Snowsong
What is the capital city of the Naga?`Nazjatar
Who was the creator of the Burning Legion?`Sargeras
Who was the Dreadlord who enslaved Garithos?`Detheroc
Who are the Powerful, magical race found in Pandaria, resembling humanoid Chinese guardian lions?`Mogu
What is the Enhancement Shaman artifact weapon?`Doomhammer
What is the Protection Paladin artifact weapon?`Truthguard
What is the Retribution Paladin artifact weapon?`Ashbringer
What is the Beast Mastery Hunter artifact weapon?`Titanstrike
What is the Arms Warrior artifact weapon?`Stromkar
Who did the Titans imprison deep within Ulduar to save Azeroth?`Yogg-Saron`Yogg'saron`yoggsaron`yogg saron
Which dungeon was featured in the Leeroy Jenkins video?`Upper Blackrock Spire
Which boss do you fight in the Eye of Eternity?`Malygos
Who says 'No, old friend. You've freed us all.'?`Thrall
Who says 'If the world is to live free from the tyranny of fear, they must never know what was done here today!'?`Bolvar Fordragon`Bolvar
Which race has the racial ability 'Diplomacy'?`Human
Which race has the racial ability 'Cultivation'?`Tauren
Which race has the racial ability 'Command'?`Orc
Which race has the racial ability 'Aberration'?`Worgen
Who says 'FACE THE WRATH OF THE SOULFLAYER!'?`Hakkar
What creature says 'YOU NO TAKE CANDLE!'?`Kobold
Who did Thrall name Orgrimmar after?`Orgrim Doomhammer`doomhammer
What is Rexxar's father's name?`Leoroxx
Who was the Head Priestess of Elune before the War of the Ancients and Tyrande's mentor?`Dejahna
What was the name of Ner'zhul's late wife?`Rulkan
Who sent Garrosh back in time?`Kairoz
Who was Varian Wrynn's father?`King Llane`Llane
What was Illidian Stormrage known as?`The Betrayer
Who is the elemental lord of earth on Azeroth?`Therazane
Who lost the Horde the Second War?`Gul'dan`Guldan
Which Sha is located in the Shado-Pan Monastery?`Hatred
What was the original Hyjal Worlds Tree's name?`Nordrassil
Who was the first Warchief of the Horde?`Blackhand
What is the attempted World Tree in Northrend?`Vordrassil
Who's the oldest of the Windrunner sisters?`Alleria
Who is the final boss in Ulduar?`Algalon
How many quests can your quest log hold?`25`twenty five`twenty-five`twentyfive
When Deathwing was an aspect what was he the aspect of?`Earth
Where do the Drakkari live?`Zul'Drak`zul drak`zuldrak`zul-drak
What was teh name of Highlord Mograine's sword?`Ashbringer
Who Did Illidan Fight In Order To Claim The Title Of Ruler of Outlands?`Magtheridon
Which race crash landed into Azeroth?`Draenei
Who was the first Death Knight on Azeroth?`Teron Gorefiend
What rare mob on Timeless Isle drops a mount?`Huolon
What is the mount called that drops from mythic Blackhand`Ironhoof destroyer
Originally the Draenei did not exist when the Burning Crusade was being thought up. What race was originally planned to be Alliance but eventually canned?`Pandaren`Panda
Name the scrapped battleground from Classic WoW?`Azshara's Crater`azshara`azshara crater
How many quests do you need to complete for the achievement that gives you the title "the Seeker"?`3000`three thousand
How many fragments is Val'anyr broken into?`30`thirty
Which raid instance made an appearance in original WoW, and in the Wrath of the Lich King Expansion?`Naxxramas
Who built Karazhan?`Medivh
Where is the Cleft of Shadow located?`Orgrimmar
What is the name of the pirate faction that plagues the goblins of the Steamwheedle Cartel?`Bloodsail Buccaneers`Bloodsail`Buccaneers
Arthas Menethil was prince of where?`Lordaeron
When a warlock summons their dreadsteed, which world does it come from?`Xoroth
What raid instance is located in Stranglethorn Vale?`Zul'Gurub`Zul Gurub`zulgurub`zul-gurub
What is the racial enemy of the tauren?`Centaurs
What non-combat vanity pet is completely unattainable by Horde players?`Sprite Darter
Where would you find Timmy the Cruel?`Stratholme
The entrance to Blackwing Lair is found inside what instance?`Upper Blackrock Spire
What zone contains the settlement of Darkshire?`Duskwood
What is the name of the goblin camp in Dustwallow Marsh?`Mudsprocket
What profession uses the fish Oily Blackmouth?`Alchemy
What faction gives you a quest involving the almighty Booterang?`Netherwing
Where would you find Old Blanchy?`Westfall
Where would you find Young Blanchy?`Old Hillsbrad Foothills`Hillsbrad`Hillsbrad Foothills
What famous addon announces boss abilities in raids?`Deadly Boss Mods`DBM
Who is the current leader of the Darkspear Troll tribe?`Vol'jin`Vol jin`voljin`vol-jin
What is the name of the level 60 kitty that roams The Exodar?`Nibblet
The rogue talent Mutilate requires what?`Dual-wielding daggers`Dual daggers`2 daggers`daggers
Which boss requires your raid to bring along a fishing pole?`The Lurker Below`The Lurker`Lurker Below
What is the approximate location of Newman's Landing in Stormwind? (North,East,West,South)`West`W
Name that NPC: "I'm gonna light you up, sweet cheeks!"`Millhouse Manastorm`Millhouse`MillhouseManastorm
What is Lil Timmy's title?`Boy with kittens`Kittens
Who is the King of Stormwind?`Varian Wrynn
The highly sought-after Tome of Polymorph: Turtle drops from what boss?`Gahz'ranka`gahz ranka`gahzranka`gahz-ranka
What staff is also known as "the squidstick"?`Terestians Stranglestaff`Stranglestaff`Terestian
Name the leader of Darnassus.`Tyrande
The Blood Elf zone in the ghostlands is called?`Tranquillien
The Tauren racial mount is the:`Kodo
The outlands faction in Nagrand that is allied with the Horde is called?`The Mag'har`Mag'har`mag har`maghar
The Sunreavers are a group of blood elves who represent the horde in Dalaran. They get their name from their leader Archmage ________Sunreaver?`Aethas
What is the name of the Shaman Tier 1 set?`Earthfury`The Earthfury
In the 25 man raid "The Eye" how many orbs did Kael'Thas have?`3`three
The achivement "And They Would All Go Down Together" reads: Defeat the 4 Horsemen in Naxxramas on Normal Difficulty, ensuring that they all die within __ seconds of each other.`15`fifteen
In the Windrunner family there were 4 siblings, 3 sisters and 1 brother, name him.`Lirath
What is the name of the raid wing in which Algalon the Observer is located in?`Celestial Planetarium
Medivh (the last Guardian of Tirisfal) chooses to shapeshift into which form?`Raven
High Priest Thekal dropped the Raptor Mount? (T/F)`False`F
What world boss was walking around in Azshara?`Azuregos
What title does killing the Lich King on 25 Heroic give?`The Light of Dawn`Light of Dawn
The Last boss of Icecrown Citadels Scarlet Halls is named Princess...?`Lana'thel`Lana thel`Lanathel`lana-thel
Arthas loved who?`Lady Jaina Proudmoore`Jaina Proudmoore`Jaina
As a Moonkin spec, what Eclipse should you begin spamming Wrath?`Solar Eclipse`Solar
What is the Rogues main AOE ability called when a circle appears around them and small daggers fly outward from their body?`Fan of Knives
The staff that is dropped from Festergut on 10 man mode is called Abra________?`Cadaver
Name the homeworld of the ethereals.`K'aresh`K aresh`Karesh
What is the name of Tirion Fordring's gray stallion?`Mirador
Who was the first satyr to be created?`Xavius
Name one of the three young twilight drakes guarding twilight dragon eggs in the Obsidian Sanctum?`Tenebron`Vesperon`Shadron
What evidence drove Prince Arthas to slaughter the people of Stratholme during the Third War?`Tainted grain`grain
What is the highest rank bestowed on a druid?`Archdruid
This queen oversaw the evacuation of her people after the Cataclysm struck and the Forsaken attacked her nation`Queen Mia Greymane`Mia Greymane`Mia
This emissary of the Horde felt that Silvermoon City was a little too bright and clean.`Tatai
Arthas's death knights were trained in a floating citadel that was taken by force when many of them rebelled against the Lich King. What was the fortress's name?`Acherus
Before she was raised from the dead by Arthas to serve the Scourge, Sindragosa was part of what dragonflight?`Blue dragonflight`Blue
Before the original Horde formed, a highly contagious sickness began spreading rapidly among the orcs. What did the orcs call it?`Red Pox`redpox
The Ironforge library features a replica of an unusually large ram's skeleton. What was the name of this legendary ram?`Toothgnasher
Where is Coldridge Valley located?`Dun Morogh
What is the name of the buff you recieve after eating food made with your Cooking profession?`Well Fed
Which boss says: "The Menagerie is for guests only"?`The Curator`Curator
Where is Karazhan?`Deadwind Pass
Where is the ogre Chok'sul?`Loch Modan
When fishing in "World of Warcraft", you may come across an item called 'The 1 Ring'. What rarity type is this item?`uncommon
You're now level 63 in Zangarmarsh, you find a Glowcap which you can collect off the ground, but you have no quest for it, where do you turn it in?`Sporeggars
Where is the High Elven Quel'Lithien Lodge?`Eastern Plaguelands
What type of weapon did Malfurion craft for Broxigar the Red?`Axe
Hakkar the Houndmaster, Mannoroth the Destructor and Archimonde the Defiler fought together in what war?`War of the Ancients
Mannoroth once took commands from an elf, what was the name of this elf?`Azshara
The Maelstrom is a product of what great event?`Sundering`The Sundering
Tomb of Sargeras was previously a temple for whom?`Elune
Eredun is the language of what race?`eredar`demon
Name one of the two leaders of the New Council of Tirisfal.`Med'an`Jaina Proudmoore`Jaina`med an`medan
Med'an is half-human, quarter orc and quarter _______?`Draenei
What is the name of the staff Med'an used to defeat Cho'gall with?`Atiesh
The original death knights were created by Gul'dan for whom?`Orgrim Doomhammer
Before the Well of Eternity was destroyed, Illidan filled seven vials with its water. One of these vials were acquired by Dath'Remar and used to create what?`Sunwell`The Sunwell
Which titan blessed Alexstrasza's younger sister Ysera, with a portion of nature's influence?`Eonar
Brown is the default color for which class?`Warrior`Warriors
Dark Blue is the default color for which class?`Shaman`Shamans
Dark Green is the defualt color for which class?`Demon Hunter`Demon Hunters
What Death Knight specialization have a permanent Ghoul pet?`Unholy
The Death Knight class has its own special weapon enchanting ability called __________.`Runeforging
What class specialization give access to the ability: Emancipate`Retribution
What class specialization give access to the ability: Overpower`Arms
What class specialization give access to the ability: Flames of Xoroth`Destruction
What class specialization give access to the ability: Premeditation`Subtlety
What class specialization give access to the ability: Ironbark`Restoration`Resto
Who killed Cenarius in the Third War?`Grom Hellscream`grom
How many playable races are there prior to Warlords of Draenor?`13`thirteen
What is the language of the Forsaken called?`Gutterspeak
What is the language of the Dwarves called?`Dwarvish`Dwarven
What is the language of the Dragons called?`Draconic
What is the language of the Murlocs called?`Nerglish
What does [Zug-zug] mean in Orcish?`Okay`ok
What does [Sha] mean in Draenei?`Light
What does [Lok'tar ogar] mean in Orcish?`Victory or Death
What does [Bal'a dash] mean in Thalassian?`Greetings`hello
What does [Medivh] mean in Thalassian?`Keeper of Secrets
What Horde race is missing: [Blood Fury], [Berserking], [Magic Resistance], [Touch of the Grave], [War Stomp]..."`Goblin
What Alliance race is missing: [Stoneform], [Escape Artist], [Shadowmeld], [Every Man for Himself], [Gift of the Naaru]...`Worgen
Gaining exalted status with the Sha'tari Skyguard grant access to what mount?`Nether Ray
Gaining exalted status with the Golden Lotus grant access to what mount?`Riding Crane`Crane
Gaining exalted status with the Kurenai & Mag'har grant access to what mount?`Talbuk
What mount can drop in Sethekk Halls?`Raven Lord
What mount is awarded by the achievement: [Pandaren Ambassador]`Pandaren Kite`Kite
What mount can drop from Ultraxion in Dragon Soul? (________ 12-B)`Experiment
What mount can drop from the Madness of Deathwing boss event in Dragon Soul? (Life-Binder's ________)`Handmaiden
What mount can Gretta the Arbiter award as a quest reward? (White ____ ____)`Polar Bear
What land only mount can drop in Firelands? (________ of Alysrazor)`Flametalon
What mount is awarded by the achievement: [Guild Glory of the Cataclysm Raider]`Dark Phoenix
What mount is awarded by the achievement: [Glory of the Icecrown Raider (10)] (__________ Frostbrood Vanquisher)`Bloodbathed
What is the mount Uncle Bigpocket sells for 120,000g called? (______ __________ Yak)`Grand Expedition
[Subdued Abyssal Seahorse] is awarded from what quest?`Abyssal Ride`The Abyssal Ride
The best arena players in season 11 were rewarded with what mount? (C________c Gladiator's Twilight Drake)`Cataclysmic
To ride with 280% increased movement speed you need what riding proficiency?`Artisan
Achievement: There are even more critters in Pandaria. They also need /love. (To All the ________ I Once Caressed)`Squirrels
Achievement: Kill 100,000 critters.`Crittergeddon
Achievement: Get killed by Deathwing.`Stood in the Fire
Achievement: Win a need roll on a superior or better item above item level 185 by rolling 100.`Needy
Achievement: Obtain a vanity pet.`Can I keep him
What was the Black Temple called before it got taken by demons?`Karabor
What kind of entity has corrupted most of the Black Dragonflight?`Old Gods`Gods
In what zone can Lethlor Ravine and Scar of the Worldbreaker be found?`Badlands
In what zone can the Ruins of Auberdine be found?`Darkshore
In what zone can Bloodhoof Village be found?`Mulgore
In what zone can Halaa be found?`Nagrand
When Ner'zhul as the Lich King merged with Arthas, it all became clear, that Ner'zhul was ___`Gay
Who was the former king of Azjol-Nerub?`Anub'arak`Anub arak`anubarak
Who was the main leader of Cult of the Damned?`Kel'Thuzad`Kel Thuzad`kelthuzad
Right after killing his father, Arthas Menethil went to the Balnir Farmstead in order to resurrect whom?`Invincible
Arthas Menethil joined the Knights of the Silver Hand at what age?`19`ninteen
Gul'dan raised what ancient city from the seafloor some years ago?`Suramar
[Un'Goro] means [God Lands] in what tongue?`Qiraji
[Draenor] means [Exile's Refuge] in what language?`Draenei
Before serving the Lich King in undeath, Sapphiron served whom?`Malygos
Muradin, Magni and Brann are part of what family dynasty?`Bronzebeard
Who is the main leader of Darkmoon Faire?`Silas Darkmoon
What is the name of the capital of the Zandalar Tribe and all other troll tribes on Azeroth?`Zuldazar
Which expansion introduced Pet Battles?`Mists of Pandaria`mop
Quote: Men, women and children... None were spared the master's wrath. Your death will be no different.`Falric
Quote: All that you know will fade..`Yogg-Saron`Yogg'saron`yoggsaron`yogg saron
What is the name of the thirteenth rank in the Horde PvP system?`Warlord
Discovering all zones award what title?`The Explorer`Explorer
Raising 40 Reputations to exalted status award what title?`The Exalted`Exalted
The races of the nerubians, qiraji and the mantid were once one people, they were the ____?`Aqir
Quote: We are the Forsaken. We will slaughter anyone who stands in our way.`Sylvanas Windrunner`Sylvanas
Quote: The final shred of light fades, and with it, your PITIFUL, MORTAL, EXISTENCE!`Ultraxion
Where can Lucifron be fought?`Molten Core
Ragnaros is voiced by whom?`Chris Metzen`Metzen
Thrall named the zone Durotar after whom?`Durotan
Kul Tiras consists mostly of what race?`Human
What is the name of the tribe that founded the nation Stromgarde?`Arathi
The group Sons of Lothar got its name from what brave warrior?`Anduin Lothar
Whos missing: Skywall, Firelands, Abyssal Maw...`Deepholm
The acronym GM refers to?`Game Master
[Mithril Spurs] can be made with what profession?`Blacksmith
What was the name of the first troll Thrall met when he arrived on Kalimdor for the first time?`Sen'jin`Sen jin`senjin
What are basic foot soldiers of the Horde called?`Grunt
What are orcish workers and gatherers called?`Peon
Who is the first boss of Blackwing Lair?`Razorgore
Who is the last boss of Heart of Fear?`Shek'zeer`shek zeer`shekzeer
Who is the first boss of Siege of Orgrimmar?`Immerseus
Who is the first boss of Temple of Ahn'Qiraj?`Skeram
Who is the first boss of Serpentshrine Caverns?`Hydross
What is the charismatic gnome Chromie's real name?`Chronormu
What type of demon is Magtheridon?`Pit Lord
The Blood Elf Male dance is taken from what movie?`Napoleon Dynamite`Napoleon
What is the name of the female singer that inspired the female draenei dance?`Shakira
What dance style is the inspiration for the female dwarf dance?`The Riverdance`Riverdance
What is the name of the song that is the inspiration for the female human dance?`Macarena
What is the name of the artist that is the inspiration for the male night elf dance?`Michael jackson`mj`Micheal jackson
Which of Lady Gaga's songs is the inspiration for the female worgen dance?`Pokerface
Name the artist or song that is the inspiration for the male goblin dance.`Soulja boy`crank that
What is the name of the song that is the inspiration for the male pandaren dance?`Party Rock Anthem`Party Rock
The raid phase called [Vale of Eternal Sorrows] is part of what raid instance?`Siege of Orgrimmar
What is the name of the Innkeeper in Stormwind's Trade District?`Allison
-151
View File
@@ -1,151 +0,0 @@
Who's that pokemon? http://oi40.tinypic.com/vdeh4p.jpg`Slowbro
Who's that pokemon? http://oi44.tinypic.com/15q3kgn.jpg`Metapod
Who's that pokemon? http://oi41.tinypic.com/zksb52.jpg`Zubat
Who's that pokemon? http://oi42.tinypic.com/rjfic7.jpg`Magneton
Who's that pokemon? http://oi42.tinypic.com/332p8pe.jpg`Beedrill
Who's that pokemon? http://oi44.tinypic.com/29uoz05.jpg`Omastar
Who's that pokemon? http://oi42.tinypic.com/153322f.jpg`Machamp
Who's that pokemon? http://oi40.tinypic.com/25jl91d.jpg`Electrode
Who's that pokemon? http://oi40.tinypic.com/fjlpwk.jpg`Wartortle
Who's that pokemon? http://oi40.tinypic.com/108i4uq.jpg`Venonat
Who's that pokemon? http://oi43.tinypic.com/2v12548.jpg`Persian
Who's that pokemon? http://oi41.tinypic.com/2yvklzr.jpg`Moltres
Who's that pokemon? http://oi41.tinypic.com/280jji1.jpg`Tentacool
Who's that pokemon? http://oi39.tinypic.com/10scfg3.jpg`Ekans
Who's that pokemon? http://oi41.tinypic.com/2zxw0sy.jpg`Chansey
Who's that pokemon? http://oi44.tinypic.com/2qv9k5h.jpg`Raticate
Who's that pokemon? http://oi39.tinypic.com/qoyjh0.jpg`Magikarp
Who's that pokemon? http://i.imgur.com/pMc81mO.jpg`Venusaur
Who's that pokemon? http://oi40.tinypic.com/2nbaukz.jpg`Flareon
Who's that pokemon? http://oi41.tinypic.com/zup2z5.jpg`Gengar
Who's that pokemon? http://oi40.tinypic.com/2e5pkzn.jpg`Jynx
Who's that pokemon? http://oi40.tinypic.com/2b9qgp.jpg`Snorlax
Who's that pokemon? http://oi43.tinypic.com/2vx3zm1.jpg`Pidgey
Who's that pokemon? http://oi41.tinypic.com/33nf7lc.jpg`Lickitung
Who's that pokemon? http://oi44.tinypic.com/307p9nb.jpg`Porygon
Who's that pokemon? http://oi41.tinypic.com/qs9qw5.jpg`Raichu
Who's that pokemon? http://oi43.tinypic.com/2r548qt.jpg`Clefable
Who's that pokemon? http://oi39.tinypic.com/14k9npt.jpg`Marowak
Who's that pokemon? http://oi44.tinypic.com/2s1ul48.jpg`Kabuto
Who's that pokemon? http://oi43.tinypic.com/2ljg4dl.jpg`Parasect
Who's that pokemon? http://oi41.tinypic.com/fe1729.jpg`Rhydon
Who's that pokemon? http://oi44.tinypic.com/2cpaufr.jpg`Meowth
Who's that pokemon? http://oi42.tinypic.com/14t7h9f.jpg`Dragonite
Who's that pokemon? http://oi44.tinypic.com/23t1spf.jpg`Blastoise
Who's that pokemon? http://oi40.tinypic.com/2vdgugm.jpg`Slowpoke
Who's that pokemon? http://oi44.tinypic.com/5pqtf7.jpg`Seel
Who's that pokemon? http://oi39.tinypic.com/33cupts.jpg`Wigglytuff
Who's that pokemon? http://oi40.tinypic.com/34znmfd.jpg`Charmander
Who's that pokemon? http://oi40.tinypic.com/29vfknd.jpg`Fearow
Who's that pokemon? http://oi42.tinypic.com/1z53p1x.jpg`Kadabra
Who's that pokemon? http://oi41.tinypic.com/148qdyu.jpg`Psyduck
Who's that pokemon? http://oi40.tinypic.com/2s7979l.jpg`Bellsprout
Who's that pokemon? http://oi42.tinypic.com/14udh8k.jpg`Omanyte
Who's that pokemon? http://oi43.tinypic.com/21dh8hv.jpg`Gastly
Who's that pokemon? http://oi41.tinypic.com/21o7nr9.jpg`Bulbasaur
Who's that pokemon? http://oi41.tinypic.com/1608uq8.jpg`Muk
Who's that pokemon? http://oi44.tinypic.com/2ecfyg4.jpg`Vileplume
Who's that pokemon? http://oi44.tinypic.com/20uo2s3.jpg`Poliwhirl
Who's that pokemon? http://oi39.tinypic.com/2zflb41.jpg`Magnemite
Who's that pokemon? http://oi41.tinypic.com/1q2xz9.jpg`Pidgeot
Who's that pokemon? http://oi39.tinypic.com/6nro84.jpg`Nidorina
Who's that pokemon? http://oi40.tinypic.com/2zel479.jpg`Articuno
Who's that pokemon? http://oi39.tinypic.com/15czi9y.jpg`Butterfree
Who's that pokemon? http://oi43.tinypic.com/21m7ou9.jpg`Graveler
Who's that pokemon? http://oi44.tinypic.com/mb74nn.jpg`Magmar
Who's that pokemon? http://oi40.tinypic.com/35i96pw.jpg`Arbok
Who's that pokemon? http://oi39.tinypic.com/ngo6fa.jpg`Cubone
Who's that pokemon? http://oi42.tinypic.com/2zzki90.jpg`Primeape
Who's that pokemon? http://oi39.tinypic.com/21j3x3p.jpg`Onix
Who's that pokemon? http://oi44.tinypic.com/34hbf51.jpg`Squirtle
Who's that pokemon? http://oi42.tinypic.com/3507xg0.jpg`Nidoran
Who's that pokemon? http://oi41.tinypic.com/ic0f12.jpg`Vulpix
Who's that pokemon? http://oi41.tinypic.com/244cqw0.jpg`Electabuzz
Who's that pokemon? http://oi42.tinypic.com/2rmtf1f.jpg`Cloyster
Who's that pokemon? http://oi41.tinypic.com/29olkyg.jpg`Growlithe
Who's that pokemon? http://oi41.tinypic.com/11t0nrc.jpg`Poliwag
Who's that pokemon? http://oi44.tinypic.com/29xvy3o.jpg`Horsea
Who's that pokemon? http://oi44.tinypic.com/2gsh2sg.jpg`Drowzee
Who's that pokemon? http://oi39.tinypic.com/21kzct3.jpg`Tentacruel
Who's that pokemon? http://oi42.tinypic.com/2n1rpzk.jpg`Voltorb
Who's that pokemon? http://oi42.tinypic.com/sg28ld.jpg`Victreebel
Who's that pokemon? http://oi43.tinypic.com/1zfkehg.jpg`Nidoqueen
Who's that pokemon? http://oi42.tinypic.com/2vlsnqe.jpg`Starmie
Who's that pokemon? http://oi43.tinypic.com/vi305t.jpg`Hitmonlee
Who's that pokemon? http://oi41.tinypic.com/m9na5l.jpg`Exeggcute
Who's that pokemon? http://oi41.tinypic.com/f44hhl.jpg`Venomoth
Who's that pokemon? http://oi44.tinypic.com/2i6gtxh.jpg`Dratini
Who's that pokemon? http://oi41.tinypic.com/119xq8l.jpg`Kakuna
Who's that pokemon? http://oi42.tinypic.com/vqu1ir.jpg`Dugtrio
Who's that pokemon? http://oi41.tinypic.com/x51g5l.jpg`Tauros
Who's that pokemon? http://oi39.tinypic.com/2wg7zpd.jpg`Dodrio
Who's that pokemon? http://oi42.tinypic.com/2z4h7jr.jpg`Arcanine
Who's that pokemon? http://oi44.tinypic.com/mw9r3a.jpg`Mr. Mime
Who's that pokemon? http://oi44.tinypic.com/21jp3eu.jpg`Sandslash
Who's that pokemon? http://oi44.tinypic.com/33u4t2d.jpg`Kangaskhan
Who's that pokemon? http://oi40.tinypic.com/2mh7ccm.jpg`Gyarados
Who's that pokemon? http://oi43.tinypic.com/95q7et.jpg`Kingler
Who's that pokemon? http://oi39.tinypic.com/2i0aeu0.jpg`Caterpie
Who's that pokemon? http://oi39.tinypic.com/10yncbn.jpg`Ninetales
Who's that pokemon? http://oi43.tinypic.com/n1uejr.jpg`Paras
Who's that pokemon? http://oi44.tinypic.com/2cdahdl.jpg`Machop
Who's that pokemon? http://i.imgur.com/7tOA2x1.jpg`Farfetch'd
Who's that pokemon? http://oi43.tinypic.com/nzkqjs.jpg`Rattata
Who's that pokemon? http://oi41.tinypic.com/a4r0k9.jpg`Jolteon
Who's that pokemon? http://oi43.tinypic.com/2rf7cba.jpg`Shellder
Who's that pokemon? http://oi41.tinypic.com/v5y39d.jpg`Golbat
Who's that pokemon? http://oi43.tinypic.com/2nisho6.jpg`Gloom
Who's that pokemon? http://oi41.tinypic.com/2uxv2ja.jpg`Mewtwo
Who's that pokemon? http://oi44.tinypic.com/2vtably.jpg`Pikachu
Who's that pokemon? http://oi44.tinypic.com/2cnf3i1.jpg`Seaking
Who's that pokemon? http://oi42.tinypic.com/2i8dh5s.jpg`Pinsir
Who's that pokemon? http://oi39.tinypic.com/2cbin5.jpg`Ditto
Who's that pokemon? http://oi40.tinypic.com/i36hb7.jpg`Koffing
Who's that pokemon? http://oi42.tinypic.com/b6qcec.jpg`Jigglypuff
Who's that pokemon? http://oi41.tinypic.com/15drnfl.jpg`Kabutops
Who's that pokemon? http://oi43.tinypic.com/2yphtmd.jpg`Abra
Who's that pokemon? http://oi42.tinypic.com/24pvv2o.jpg`Machoke
Who's that pokemon? http://oi41.tinypic.com/k2jyvo.jpg`Lapras
Who's that pokemon? http://oi39.tinypic.com/2ito5sw.jpg`Rhyhorn
Who's that pokemon? http://oi40.tinypic.com/30vklc9.jpg`Charmeleon
Who's that pokemon? http://oi42.tinypic.com/1scs5g.jpg`Mew
Who's that pokemon? http://oi44.tinypic.com/209hsmv.jpg`Geodude
Who's that pokemon? http://oi44.tinypic.com/50fdjs.jpg`Rapidash
Who's that pokemon? http://oi44.tinypic.com/sbhim0.jpg`Weepinbell
Who's that pokemon? http://oi44.tinypic.com/nmeyk7.jpg`Sandshrew
Who's that pokemon? http://oi42.tinypic.com/fdgbuq.jpg`Scyther
Who's that pokemon? http://oi44.tinypic.com/qpfn95.jpg`Seadra
Who's that pokemon? http://oi39.tinypic.com/14mbekj.jpg`Clefairy
Who's that pokemon? http://oi40.tinypic.com/ff26mv.jpg`Vaporeon
Who's that pokemon? http://oi41.tinypic.com/2upftvo.jpg`Nidoran
Who's that pokemon? http://oi41.tinypic.com/2gtymfs.jpg`Ivysaur
Who's that pokemon? http://oi41.tinypic.com/21biqkw.jpg`Staryu
Who's that pokemon? http://oi39.tinypic.com/ws8tis.jpg`Weezing
Who's that pokemon? http://oi41.tinypic.com/2zpt7q8.jpg`Krabby
Who's that pokemon? http://oi41.tinypic.com/s49u8h.jpg`Dragonair
Who's that pokemon? http://oi43.tinypic.com/296ocxg.jpg`Pidgeotto
Who's that pokemon? http://oi39.tinypic.com/2ebdfg5.jpg`Hitmonchan
Who's that pokemon? http://oi40.tinypic.com/vdhdh1.jpg`Eevee
Who's that pokemon? http://oi39.tinypic.com/2lua0qv.jpg`Mankey
Who's that pokemon? http://oi41.tinypic.com/6jmv0g.jpg`Grimer
Who's that pokemon? http://oi41.tinypic.com/avl850.jpg`Spearow
Who's that pokemon? http://oi42.tinypic.com/309sv4l.jpg`Zapdos
Who's that pokemon? http://oi41.tinypic.com/20foxso.jpg`Charizard
Who's that pokemon? http://oi42.tinypic.com/33bpctj.jpg`Doduo
Who's that pokemon? http://oi44.tinypic.com/70yxb7.jpg`Oddish
Who's that pokemon? http://oi40.tinypic.com/nwyply.jpg`Diglett
Who's that pokemon? http://oi42.tinypic.com/28bb0go.jpg`Dewgong
Who's that pokemon? http://oi39.tinypic.com/2r54xhw.jpg`Nidoking
Who's that pokemon? http://oi43.tinypic.com/xoiqea.jpg`Exeggutor
Who's that pokemon? http://oi42.tinypic.com/r0e5o6.jpg`Ponyta
Who's that pokemon? http://oi43.tinypic.com/15dwiva.jpg`Weedle
Who's that pokemon? http://oi40.tinypic.com/2m4xfn4.jpg`Alakazam
Who's that pokemon? http://oi44.tinypic.com/2qizs5j.jpg`Hypno
Who's that pokemon? http://oi40.tinypic.com/11114zk.jpg`Haunter
Who's that pokemon? http://oi39.tinypic.com/2hictnm.jpg`Nidorino
Who's that pokemon? http://oi41.tinypic.com/ajxvdu.jpg`Goldeen
Who's that pokemon? http://oi43.tinypic.com/15z1l4m.jpg`Golem
Who's that pokemon? http://oi43.tinypic.com/2qlhd1e.jpg`Poliwrath
Who's that pokemon? http://oi41.tinypic.com/28kpvkw.jpg`Aerodactyl
Who's that pokemon? http://oi42.tinypic.com/ta34e9.jpg`Tangela
Who's that pokemon? http://oi39.tinypic.com/2qt97om.jpg`Golduck
-197
View File
@@ -1,197 +0,0 @@
What is the capital of Afghanistan?`Kabul
What is the capital of Albania?`Tirana
What is the capital of Algeria?`Algiers
What is the capital of Andorra?`Andorra la Vella
What is the capital of Angola?`Luanda
What is the capital of Antigua and Barbuda?`Saint John's`saint johns`st johns`st. johns`st john's`st. john's`saintjohns`saintjohn's`stjohns`stjohn's`st.johns`st.john's
What is the capital of Argentina?`Buenos Aires
What is the capital of Armenia?`Yerevan
What is the capital of Australia?`Canberra
What is the capital of Austria?`Vienna
What is the capital of Azerbaijan?`Baku
What is the capital of Bahamas?`Nassau
What is the capital of Bahrain?`Manama
What is the capital of Bangladesh?`Dhaka
What is the capital of Barbados?`Bridgetown
What is the capital of Belarus?`Minsk
What is the capital of Belgium?`Brussels
What is the capital of Belize?`Belmopan
What is the capital of Benin?`Porto-Novo`porto novo`portonovo
What is the capital of Bhutan?`Thimphu
Name one of Bolivia's capitals?`La Paz`Sucre
What is the capital of Bosnia and Herzegovina?`Sarajevo
What is the capital of Botswana?`Gaborone
What is the capital of Brazil?`Brasilia
What is the capital of Brunei`Bandar Seri Begawan`bandarseribegawan
What is the capital of Bulgaria?`Sofia
What is the capital of Burkina Faso?`Ouagadougou
What is the capital of Burundi?`Bujumbura
What is the capital of Cabo Verde?`Praia
What is the capital of Cambodia?`Phnom Penh
What is the capital of Cameroon?`Yaoundé`yaounde
What is the capital of Canada?`Ottawa
What is the capital of Central African Republic?`Bangui
What is the capital of Chad?`N'Djamena`ndjamena`n djamena
What is the capital of Chile?`Santiago
What is the capital of China?`Beijing
What is the capital of Colombia?`Bogotá`Bogota
What is the capital of Comoros?`Moroni
What is the capital of the Republic of the Congo?`Brazzaville
What is the capital of the Democratic Republic of the Congo?`Kinshasa
What is the capital of Costa Rica`San Jose`Sanjose
What is the capital of Cote d'Ivoire?`Yamoussoukro
What is the capital of Croatia?`Zagreb
What is the capital of Cuba?`Havana
What is the capital of Cyprus?`Nicosia
What is the capital of Czech Republic?`Prague
What is the capital of Denmark?`Copenhagen
What is the capital of Djibouti?`Djibouti
What is the capital of Dominica?`Roseau
What is the capital of Dominican Republic?`Santo Domingo`santodomingo
What is the capital of Ecuador?`Quito
What is the capital of Egypt?`Cairo
What is the capital of El Salvador?`San Salvador`sansalvador
What is the capital of Equatorial Guinea?`Malabo
What is the capital of Eritrea?`Asmara
What is the capital of Estonia?`Tallinn
What is the capital of Ethiopia?`Addis Ababa`addisababa
What is the capital of Fiji?`Suva
What is the capital of Finland?`Helsinki
What is the capital of France?`Paris
What is the capital of Gabon?`Libreville
What is the capital of Gambia?`Banjul
What is the capital of Georgia?`Tbilisi
What is the capital of Germany?`Berlin
What is the capital of Ghana?`Accra
What is the capital of Greece?`Athens
What is the capital of Grenada?`St. George's`st georges`st george's`st.george's`stgeorges`stgeorge's
What is the capital of Guatemala?`Guatemala City
What is the capital of Guinea?`Conakry
What is the capital of Guinea-Bissau?`Bissau
What is the capital of Guyana?`Georgetown
What is the capital of Haiti?`Port-au-Prince`port au prince`portauprince
What is the capital of Honduras?`Tegucigalpa
What is the capital of Hungary?`Budapest
What is the capital of Iceland?`Reykjavik
What is the capital of India?`New Delhi`newdelhi
What is the capital of Indonesia?`Jakarta
What is the capital of Iran?`Tehran
What is the capital of Iraq?`Baghdad
What is the capital of Ireland?`Dublin
What is the capital of Israel?`Jerusalem
What is the capital of Italy?`Rome
What is the capital of Jamaica?`Kingston
What is the capital of Japan?`Tokyo
What is the capital of Jordan?`Amman
What is the capital of Kazakhstan?`Astana
What is the capital of Kenya?`Nairobi
What is the capital of Kiribati?`South Tarawa`southtarawa
What is the capital of Kosovo?`Pristina
What is the capital of Kuwait?`Kuwait City`kuwaitcity
What is the capital of Kyrgyzstan?`Bishkek
What is the capital of Laos?`Vientiane
What is the capital of Latvia?`Riga
What is the capital of Lebanon?`Beirut
What is the capital of Lesotho?`Maseru
What is the capital of Liberia?`Monrovia
What is the capital of Libya?`Tripoli
What is the capital of Liechtenstein?`Vaduz
What is the capital of Lithuania?`Vilnius
What is the capital of Luxembourg?`Luxembourg
What is the capital of Macedonia?`Skopje
What is the capital of Madagascar?`Antananarivo
What is the capital of Malawi?`Lilongwe
What is the capital of Malaysia?`Kuala Lumpur`kualalumpur
What is the capital of Maldives?`Male
What is the capital of Mali?`Bamako
What is the capital of Malta?`Valletta
What is the capital of the Marshall Islands?`Majuro
What is the capital of Mauritania?`Nouakchott
What is the capital of Mauritius?`Port Louis`portlouis
What is the capital of Mexico?`Mexico City`mexicocity
What is the capital of Micronesia?`Palikir
What is the capital of Moldova?`Chisinau
What is the capital of Monaco?`Monaco
What is the capital of Mongolia?`Ulaanbaatar
What is the capital of Montenegro?`Podgorica
What is the capital of Morocco?`Rabat
What is the capital of Mozambique?`Maputo
What is the capital of Myanmar (Burma)?`Naypyidaw
What is the capital of Namibia?`Windhoek
What is the capital of Nauru?`Yaren District`yarendistrict
What is the capital of Nepal?`Kathmandu
What is the capital of the Netherlands?`Amsterdam
What is the capital of New Zealand?`Wellington
What is the capital of Nicaragua?`Managua
What is the capital of Niger?`Niamey
What is the capital of Nigeria?`Abuja
What is the capital of North Korea?`Pyongyang`pyong yang
What is the capital of Norway?`Oslo
What is the capital of Oman?`Muscat
What is the capital of Pakistan?`Islamabad
What is the capital of Palau?`Ngerulmud
What is the capital of Palestine?`Ramallah
What is the capital of Panama?`Panama City`panamacity
What is the capital of Papua New Guinea?`Port Moresby`portmoresby
What is the capital of Paraguay?`Asunción`asuncion
What is the capital of Peru?`Lima
What is the capital of Philippines?`Manila
What is the capital of Poland?`Warsaw
What is the capital of Portugal?`Lisbon
What is the capital of Qatar?`Doha
What is the capital of Romania?`Bucharest
What is the capital of Russia?`Moscow
What is the capital of Rwanda?`Kigali
What is the capital of Saint Kitts and Nevis?`Basseterre
What is the capital of Saint Lucia?`Castries
What is the capital of Saint Vincent and the Grenadines?`Kingstown
What is the capital of Samoa?`Apia
What is the capital of San Marino?`San Marino`sanmarino
What is the capital of Sao Tome and Principe?`São Tomé`sao tome`saotome
What is the capital of Saudi Arabia?`Riyadh
What is the capital of Senegal?`Dakar
What is the capital of Serbia?`Belgrade
What is the capital of Seychelles?`Victoria
What is the capital of Sierra Leone?`Freetown
What is the capital of Singapore?`Singapore
What is the capital of Slovakia?`Bratislava
What is the capital of Slovenia?`Ljubljana
What is the capital of Solomon Islands?`Honiara
What is the capital of Somalia?`Mogadishu
Name of the capitals of South Africa?`Pretoria`Cape Town`capetown`Bloemfontein
What is the capital of South Korea?`Seoul
What is the capital of South Sudan?`Juba
What is the capital of Spain?`Madrid
What is the capital of Sri Lanka?`Sri Jayawardenepura Kotte`srijawawardenpurakotte`Kotte
What is the capital of Sudan?`Khartoum
What is the capital of Suriname?`Paramaribo
What is the capital of Swaziland?`Mbabane
What is the capital of Sweden?`Stockholm
What is the capital of Switzerland?`Bern
What is the capital of Syria?`Damascus
What is the capital of Taiwan?`Taipei
What is the capital of Tajikistan?`Dushanbe
What is the capital of Tanzania?`Dodoma
What is the capital of Thailand?`Bangkok
What is the capital of Timor-Leste?`Dili
What is the capital of Togo?`Lomé`lome
What is the capital of Tonga?`Nuku'alofa`nukualofa
What is the capital of Trinidad and Tobago?`Port of Spain`portofspain
What is the capital of Tunisia?`Tunis
What is the capital of Turkey?`Ankara
What is the capital of Turkmenistan?`Ashgabat
What is the capital of Tuvalu?`Funafuti
What is the capital of Uganda?`Kampala
What is the capital of Ukraine?`Kyiv`Kiev
What is the capital of United Arab Emirates?`Abu Dhabi`abudhabi
What is the capital of the United Kingdom?`London
What is the capital of the United States of America?`Washington, D.C.`washingtondc`washington dc`washington d.c.`washington, dc`washington,d.c.`washington,dc`washingtond.c.
What is the capital of Uruguay?`Montevideo
What is the capital of Uzbekistan?`Tashkent
What is the capital of Vanuatu?`Port Vila`portvila
What is the capital of the Vatican City (Holy See)?`Vatican City`vatican city
What is the capital of Venezuela?`Caracas
What is the capital of Vietnam?`Hanoi
What is the capital of Yemen?`Sana'a`sanaa`sana a
What is the capital of Zambia?`Lusaka
What is the capital of Zimbabwe?`Harare
+64
View File
@@ -0,0 +1,64 @@
# -*- coding: utf-8 -*-
"""
Discord API Wrapper
~~~~~~~~~~~~~~~~~~~
A basic wrapper for the Discord API.
:copyright: (c) 2015-2019 Rapptz
:license: MIT, see LICENSE for more details.
"""
__title__ = "discord"
__author__ = "Rapptz"
__license__ = "MIT"
__copyright__ = "Copyright 2015-2019 Rapptz"
__version__ = "1.0.0a"
from collections import namedtuple
import logging
from .client import Client, AppInfo
from .user import User, ClientUser, Profile
from .emoji import Emoji, PartialEmoji
from .activity import *
from .channel import *
from .guild import Guild
from .relationship import Relationship
from .member import Member, VoiceState
from .message import Message, Attachment
from .errors import *
from .calls import CallMessage, GroupCall
from .permissions import Permissions, PermissionOverwrite
from .role import Role
from .file import File
from .colour import Color, Colour
from .invite import Invite
from .object import Object
from .reaction import Reaction
from . import utils, opus, abc
from .enums import *
from .embeds import Embed
from .shard import AutoShardedClient
from .player import *
from .webhook import *
from .voice_client import VoiceClient
from .audit_logs import AuditLogChanges, AuditLogEntry, AuditLogDiff
from .raw_models import *
VersionInfo = namedtuple("VersionInfo", "major minor micro releaselevel serial")
version_info = VersionInfo(major=1, minor=0, micro=0, releaselevel="alpha", serial=0)
try:
from logging import NullHandler
except ImportError:
class NullHandler(logging.Handler):
def emit(self, record):
pass
logging.getLogger(__name__).addHandler(NullHandler())
+337
View File
@@ -0,0 +1,337 @@
# -*- coding: utf-8 -*-
"""
The MIT License (MIT)
Copyright (c) 2015-2019 Rapptz
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
"""
import argparse
import sys
from pathlib import Path
import discord
def core(parser, args):
pass
bot_template = """#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from discord.ext import commands
import discord
import config
class Bot(commands.{base}):
def __init__(self, **kwargs):
super().__init__(command_prefix=commands.when_mentioned_or('{prefix}'), **kwargs)
for cog in config.cogs:
try:
self.load_extension(cog)
except Exception as exc:
print('Could not load extension {{0}} due to {{1.__class__.__name__}}: {{1}}'.format(cog, exc))
async def on_ready(self):
print('Logged on as {{0}} (ID: {{0.id}})'.format(self.user))
bot = Bot()
# write general commands here
bot.run(config.token)
"""
gitignore_template = """# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class
# C extensions
*.so
# Distribution / packaging
.Python
env/
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
*.egg-info/
.installed.cfg
*.egg
# Our configuration files
config.py
"""
cog_template = '''# -*- coding: utf-8 -*-
from discord.ext import commands
import discord
class {name}:
"""The description for {name} goes here."""
def __init__(self, bot):
self.bot = bot
{extra}
def setup(bot):
bot.add_cog({name}(bot))
'''
cog_extras = """
def __unload(self):
# clean up logic goes here
pass
async def __local_check(self, ctx):
# checks that apply to every command in here
return True
async def __global_check(self, ctx):
# checks that apply to every command to the bot
return True
async def __global_check_once(self, ctx):
# check that apply to every command but is guaranteed to be called only once
return True
async def __error(self, ctx, error):
# error handling to every command in here
pass
async def __before_invoke(self, ctx):
# called before a command is called here
pass
async def __after_invoke(self, ctx):
# called after a command is called here
pass
"""
# certain file names and directory names are forbidden
# see: https://msdn.microsoft.com/en-us/library/windows/desktop/aa365247%28v=vs.85%29.aspx
# although some of this doesn't apply to Linux, we might as well be consistent
_base_table = {
"<": "-",
">": "-",
":": "-",
'"': "-",
# '/': '-', these are fine
# '\\': '-',
"|": "-",
"?": "-",
"*": "-",
}
#
_base_table.update((chr(i), None) for i in range(32))
translation_table = str.maketrans(_base_table)
def to_path(parser, name, *, replace_spaces=False):
if isinstance(name, Path):
return name
if sys.platform == "win32":
forbidden = (
"CON",
"PRN",
"AUX",
"NUL",
"COM1",
"COM2",
"COM3",
"COM4",
"COM5",
"COM6",
"COM7",
"COM8",
"COM9",
"LPT1",
"LPT2",
"LPT3",
"LPT4",
"LPT5",
"LPT6",
"LPT7",
"LPT8",
"LPT9",
)
if len(name) <= 4 and name.upper() in forbidden:
parser.error("invalid directory name given, use a different one")
name = name.translate(translation_table)
if replace_spaces:
name = name.replace(" ", "-")
return Path(name)
def newbot(parser, args):
if sys.version_info < (3, 5):
parser.error("python version is older than 3.5, consider upgrading.")
new_directory = to_path(parser, args.directory) / to_path(parser, args.name)
# as a note exist_ok for Path is a 3.5+ only feature
# since we already checked above that we're >3.5
try:
new_directory.mkdir(exist_ok=True, parents=True)
except OSError as exc:
parser.error("could not create our bot directory ({})".format(exc))
cogs = new_directory / "cogs"
try:
cogs.mkdir(exist_ok=True)
init = cogs / "__init__.py"
init.touch()
except OSError as exc:
print("warning: could not create cogs directory ({})".format(exc))
try:
with open(str(new_directory / "config.py"), "w", encoding="utf-8") as fp:
fp.write('token = "place your token here"\ncogs = []\n')
except OSError as exc:
parser.error("could not create config file ({})".format(exc))
try:
with open(str(new_directory / "bot.py"), "w", encoding="utf-8") as fp:
base = "Bot" if not args.sharded else "AutoShardedBot"
fp.write(bot_template.format(base=base, prefix=args.prefix))
except OSError as exc:
parser.error("could not create bot file ({})".format(exc))
if not args.no_git:
try:
with open(str(new_directory / ".gitignore"), "w", encoding="utf-8") as fp:
fp.write(gitignore_template)
except OSError as exc:
print("warning: could not create .gitignore file ({})".format(exc))
print("successfully made bot at", new_directory)
def newcog(parser, args):
if sys.version_info < (3, 5):
parser.error("python version is older than 3.5, consider upgrading.")
cog_dir = to_path(parser, args.directory)
try:
cog_dir.mkdir(exist_ok=True)
except OSError as exc:
print("warning: could not create cogs directory ({})".format(exc))
directory = cog_dir / to_path(parser, args.name)
directory = directory.with_suffix(".py")
try:
with open(str(directory), "w", encoding="utf-8") as fp:
extra = cog_extras if args.full else ""
if args.class_name:
name = args.class_name
else:
name = str(directory.stem)
if "-" in name:
name = name.replace("-", " ").title().replace(" ", "")
else:
name = name.title()
fp.write(cog_template.format(name=name, extra=extra))
except OSError as exc:
parser.error("could not create cog file ({})".format(exc))
else:
print("successfully made cog at", directory)
def add_newbot_args(subparser):
parser = subparser.add_parser("newbot", help="creates a command bot project quickly")
parser.set_defaults(func=newbot)
parser.add_argument("name", help="the bot project name")
parser.add_argument(
"directory",
help="the directory to place it in (default: .)",
nargs="?",
default=Path.cwd(),
)
parser.add_argument(
"--prefix", help="the bot prefix (default: $)", default="$", metavar="<prefix>"
)
parser.add_argument("--sharded", help="whether to use AutoShardedBot", action="store_true")
parser.add_argument(
"--no-git", help="do not create a .gitignore file", action="store_true", dest="no_git"
)
def add_newcog_args(subparser):
parser = subparser.add_parser("newcog", help="creates a new cog template quickly")
parser.set_defaults(func=newcog)
parser.add_argument("name", help="the cog name")
parser.add_argument(
"directory",
help="the directory to place it in (default: cogs)",
nargs="?",
default=Path("cogs"),
)
parser.add_argument(
"--class-name", help="the class name of the cog (default: <name>)", dest="class_name"
)
parser.add_argument("--full", help="add all special methods as well", action="store_true")
def parse_args():
parser = argparse.ArgumentParser(
prog="discord", description="Tools for helping with discord.py"
)
version = "discord.py v{0.__version__} for Python {1[0]}.{1[1]}.{1[2]}".format(
discord, sys.version_info
)
parser.add_argument(
"-v", "--version", action="version", version=version, help="shows the library version"
)
parser.set_defaults(func=core)
subparser = parser.add_subparsers(dest="subcommand", title="subcommands")
add_newbot_args(subparser)
add_newcog_args(subparser)
return parser, parser.parse_args()
def main():
parser, args = parse_args()
args.func(parser, args)
main()
+1030
View File
File diff suppressed because it is too large Load Diff
+613
View File
@@ -0,0 +1,613 @@
# -*- coding: utf-8 -*-
"""
The MIT License (MIT)
Copyright (c) 2015-2019 Rapptz
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
"""
import datetime
from .enums import ActivityType, try_enum
from .colour import Colour
__all__ = ["Activity", "Streaming", "Game", "Spotify"]
"""If curious, this is the current schema for an activity.
It's fairly long so I will document it here:
All keys are optional.
state: str (max: 128),
details: str (max: 128)
timestamps: dict
start: int (min: 1)
end: int (min: 1)
assets: dict
large_image: str (max: 32)
large_text: str (max: 128)
small_image: str (max: 32)
small_text: str (max: 128)
party: dict
id: str (max: 128),
size: List[int] (max-length: 2)
elem: int (min: 1)
secrets: dict
match: str (max: 128)
join: str (max: 128)
spectate: str (max: 128)
instance: bool
application_id: str
name: str (max: 128)
url: str
type: int
sync_id: str
session_id: str
flags: int
There are also activity flags which are mostly uninteresting for the library atm.
t.ActivityFlags = {
INSTANCE: 1,
JOIN: 2,
SPECTATE: 4,
JOIN_REQUEST: 8,
SYNC: 16,
PLAY: 32
}
"""
class _ActivityTag:
__slots__ = ()
class Activity(_ActivityTag):
"""Represents an activity in Discord.
This could be an activity such as streaming, playing, listening
or watching.
For memory optimisation purposes, some activities are offered in slimmed
down versions:
- :class:`Game`
- :class:`Streaming`
Attributes
------------
application_id: :class:`str`
The application ID of the game.
name: :class:`str`
The name of the activity.
url: :class:`str`
A stream URL that the activity could be doing.
type: :class:`ActivityType`
The type of activity currently being done.
state: :class:`str`
The user's current state. For example, "In Game".
details: :class:`str`
The detail of the user's current activity.
timestamps: :class:`dict`
A dictionary of timestamps. It contains the following optional keys:
- ``start``: Corresponds to when the user started doing the
activity in milliseconds since Unix epoch.
- ``end``: Corresponds to when the user will finish doing the
activity in milliseconds since Unix epoch.
assets: :class:`dict`
A dictionary representing the images and their hover text of an activity.
It contains the following optional keys:
- ``large_image``: A string representing the ID for the large image asset.
- ``large_text``: A string representing the text when hovering over the large image asset.
- ``small_image``: A string representing the ID for the small image asset.
- ``small_text``: A string representing the text when hovering over the small image asset.
party: :class:`dict`
A dictionary representing the activity party. It contains the following optional keys:
- ``id``: A string representing the party ID.
- ``size``: A list of up to two integer elements denoting (current_size, maximum_size).
"""
__slots__ = (
"state",
"details",
"timestamps",
"assets",
"party",
"flags",
"sync_id",
"session_id",
"type",
"name",
"url",
"application_id",
)
def __init__(self, **kwargs):
self.state = kwargs.pop("state", None)
self.details = kwargs.pop("details", None)
self.timestamps = kwargs.pop("timestamps", {})
self.assets = kwargs.pop("assets", {})
self.party = kwargs.pop("party", {})
self.application_id = kwargs.pop("application_id", None)
self.name = kwargs.pop("name", None)
self.url = kwargs.pop("url", None)
self.flags = kwargs.pop("flags", 0)
self.sync_id = kwargs.pop("sync_id", None)
self.session_id = kwargs.pop("session_id", None)
self.type = try_enum(ActivityType, kwargs.pop("type", -1))
def to_dict(self):
ret = {}
for attr in self.__slots__:
value = getattr(self, attr, None)
if value is None:
continue
if isinstance(value, dict) and len(value) == 0:
continue
ret[attr] = value
ret["type"] = int(self.type)
return ret
@property
def start(self):
"""Optional[:class:`datetime.datetime`]: When the user started doing this activity in UTC, if applicable."""
try:
return datetime.datetime.utcfromtimestamp(self.timestamps["start"] / 1000)
except KeyError:
return None
@property
def end(self):
"""Optional[:class:`datetime.datetime`]: When the user will stop doing this activity in UTC, if applicable."""
try:
return datetime.datetime.utcfromtimestamp(self.timestamps["end"] / 1000)
except KeyError:
return None
@property
def large_image_url(self):
"""Optional[:class:`str`]: Returns a URL pointing to the large image asset of this activity if applicable."""
if self.application_id is None:
return None
try:
large_image = self.assets["large_image"]
except KeyError:
return None
else:
return "https://cdn.discordapp.com/app-assets/{0}/{1}.png".format(
self.application_id, large_image
)
@property
def small_image_url(self):
"""Optional[:class:`str`]: Returns a URL pointing to the small image asset of this activity if applicable."""
if self.application_id is None:
return None
try:
small_image = self.assets["small_image"]
except KeyError:
return None
else:
return "https://cdn.discordapp.com/app-assets/{0}/{1}.png".format(
self.application_id, small_image
)
@property
def large_image_text(self):
"""Optional[:class:`str`]: Returns the large image asset hover text of this activity if applicable."""
return self.assets.get("large_text", None)
@property
def small_image_text(self):
"""Optional[:class:`str`]: Returns the small image asset hover text of this activity if applicable."""
return self.assets.get("small_text", None)
class Game(_ActivityTag):
"""A slimmed down version of :class:`Activity` that represents a Discord game.
This is typically displayed via **Playing** on the official Discord client.
.. container:: operations
.. describe:: x == y
Checks if two games are equal.
.. describe:: x != y
Checks if two games are not equal.
.. describe:: hash(x)
Returns the game's hash.
.. describe:: str(x)
Returns the game's name.
Parameters
-----------
name: :class:`str`
The game's name.
start: Optional[:class:`datetime.datetime`]
A naive UTC timestamp representing when the game started. Keyword-only parameter. Ignored for bots.
end: Optional[:class:`datetime.datetime`]
A naive UTC timestamp representing when the game ends. Keyword-only parameter. Ignored for bots.
Attributes
-----------
name: :class:`str`
The game's name.
"""
__slots__ = ("name", "_end", "_start")
def __init__(self, name, **extra):
self.name = name
try:
timestamps = extra["timestamps"]
except KeyError:
self._extract_timestamp(extra, "start")
self._extract_timestamp(extra, "end")
else:
self._start = timestamps.get("start", 0)
self._end = timestamps.get("end", 0)
def _extract_timestamp(self, data, key):
try:
dt = data[key]
except KeyError:
setattr(self, "_" + key, 0)
else:
setattr(self, "_" + key, dt.timestamp() * 1000.0)
@property
def type(self):
"""Returns the game's type. This is for compatibility with :class:`Activity`.
It always returns :attr:`ActivityType.playing`.
"""
return ActivityType.playing
@property
def start(self):
"""Optional[:class:`datetime.datetime`]: When the user started playing this game in UTC, if applicable."""
if self._start:
return datetime.datetime.utcfromtimestamp(self._start / 1000)
return None
@property
def end(self):
"""Optional[:class:`datetime.datetime`]: When the user will stop playing this game in UTC, if applicable."""
if self._end:
return datetime.datetime.utcfromtimestamp(self._end / 1000)
return None
def __str__(self):
return str(self.name)
def __repr__(self):
return "<Game name={0.name!r}>".format(self)
def to_dict(self):
timestamps = {}
if self._start:
timestamps["start"] = self._start
if self._end:
timestamps["end"] = self._end
return {
"type": ActivityType.playing.value,
"name": str(self.name),
"timestamps": timestamps,
}
def __eq__(self, other):
return isinstance(other, Game) and other.name == self.name
def __ne__(self, other):
return not self.__eq__(other)
def __hash__(self):
return hash(self.name)
class Streaming(_ActivityTag):
"""A slimmed down version of :class:`Activity` that represents a Discord streaming status.
This is typically displayed via **Streaming** on the official Discord client.
.. container:: operations
.. describe:: x == y
Checks if two streams are equal.
.. describe:: x != y
Checks if two streams are not equal.
.. describe:: hash(x)
Returns the stream's hash.
.. describe:: str(x)
Returns the stream's name.
Attributes
-----------
name: :class:`str`
The stream's name.
url: :class:`str`
The stream's URL. Currently only twitch.tv URLs are supported. Anything else is silently
discarded.
details: Optional[:class:`str`]
If provided, typically the game the streamer is playing.
assets: :class:`dict`
A dictionary comprising of similar keys than those in :attr:`Activity.assets`.
"""
__slots__ = ("name", "url", "details", "assets")
def __init__(self, *, name, url, **extra):
self.name = name
self.url = url
self.details = extra.pop("details", None)
self.assets = extra.pop("assets", {})
@property
def type(self):
"""Returns the game's type. This is for compatibility with :class:`Activity`.
It always returns :attr:`ActivityType.streaming`.
"""
return ActivityType.streaming
def __str__(self):
return str(self.name)
def __repr__(self):
return "<Streaming name={0.name!r}>".format(self)
@property
def twitch_name(self):
"""Optional[:class:`str`]: If provided, the twitch name of the user streaming.
This corresponds to the ``large_image`` key of the :attr:`Streaming.assets`
dictionary if it starts with ``twitch:``. Typically set by the Discord client.
"""
try:
name = self.assets["large_image"]
except KeyError:
return None
else:
return name[7:] if name[:7] == "twitch:" else None
def to_dict(self):
ret = {
"type": ActivityType.streaming.value,
"name": str(self.name),
"url": str(self.url),
"assets": self.assets,
}
if self.details:
ret["details"] = self.details
return ret
def __eq__(self, other):
return isinstance(other, Streaming) and other.name == self.name and other.url == self.url
def __ne__(self, other):
return not self.__eq__(other)
def __hash__(self):
return hash(self.name)
class Spotify:
"""Represents a Spotify listening activity from Discord. This is a special case of
:class:`Activity` that makes it easier to work with the Spotify integration.
.. container:: operations
.. describe:: x == y
Checks if two activities are equal.
.. describe:: x != y
Checks if two activities are not equal.
.. describe:: hash(x)
Returns the activity's hash.
.. describe:: str(x)
Returns the string 'Spotify'.
"""
__slots__ = (
"_state",
"_details",
"_timestamps",
"_assets",
"_party",
"_sync_id",
"_session_id",
)
def __init__(self, **data):
self._state = data.pop("state", None)
self._details = data.pop("details", None)
self._timestamps = data.pop("timestamps", {})
self._assets = data.pop("assets", {})
self._party = data.pop("party", {})
self._sync_id = data.pop("sync_id")
self._session_id = data.pop("session_id")
@property
def type(self):
"""Returns the activity's type. This is for compatibility with :class:`Activity`.
It always returns :attr:`ActivityType.listening`.
"""
return ActivityType.listening
@property
def colour(self):
"""Returns the Spotify integration colour, as a :class:`Colour`.
There is an alias for this named :meth:`color`"""
return Colour(0x1DB954)
@property
def color(self):
"""Returns the Spotify integration colour, as a :class:`Colour`.
There is an alias for this named :meth:`colour`"""
return self.colour
def to_dict(self):
return {
"flags": 48, # SYNC | PLAY
"name": "Spotify",
"assets": self._assets,
"party": self._party,
"sync_id": self._sync_id,
"session_id": self._session_id,
"timestamps": self._timestamps,
"details": self._details,
"state": self._state,
}
@property
def name(self):
""":class:`str`: The activity's name. This will always return "Spotify"."""
return "Spotify"
def __eq__(self, other):
return isinstance(other, Spotify) and other._session_id == self._session_id
def __ne__(self, other):
return not self.__eq__(other)
def __hash__(self):
return hash(self._session_id)
def __str__(self):
return "Spotify"
def __repr__(self):
return "<Spotify title={0.title!r} artist={0.artist!r} track_id={0.track_id!r}>".format(
self
)
@property
def title(self):
""":class:`str`: The title of the song being played."""
return self._details
@property
def artists(self):
"""List[:class:`str`]: The artists of the song being played."""
return self._state.split("; ")
@property
def artist(self):
""":class:`str`: The artist of the song being played.
This does not attempt to split the artist information into
multiple artists. Useful if there's only a single artist.
"""
return self._state
@property
def album(self):
""":class:`str`: The album that the song being played belongs to."""
return self._assets.get("large_text", "")
@property
def album_cover_url(self):
""":class:`str`: The album cover image URL from Spotify's CDN."""
large_image = self._assets.get("large_image", "")
if large_image[:8] != "spotify:":
return ""
album_image_id = large_image[8:]
return "https://i.scdn.co/image/" + album_image_id
@property
def track_id(self):
""":class:`str`: The track ID used by Spotify to identify this song."""
return self._sync_id
@property
def start(self):
""":class:`datetime.datetime`: When the user started playing this song in UTC."""
return datetime.datetime.utcfromtimestamp(self._timestamps["start"] / 1000)
@property
def end(self):
""":class:`datetime.datetime`: When the user will stop playing this song in UTC."""
return datetime.datetime.utcfromtimestamp(self._timestamps["end"] / 1000)
@property
def duration(self):
""":class:`datetime.timedelta`: The duration of the song being played."""
return self.end - self.start
@property
def party_id(self):
""":class:`str`: The party ID of the listening party."""
return self._party.get("id", "")
def create_activity(data):
if not data:
return None
game_type = try_enum(ActivityType, data.get("type", -1))
if game_type is ActivityType.playing:
if "application_id" in data or "session_id" in data:
return Activity(**data)
return Game(**data)
elif game_type is ActivityType.streaming:
if "url" in data:
return Streaming(**data)
return Activity(**data)
elif game_type is ActivityType.listening and "sync_id" in data and "session_id" in data:
return Spotify(**data)
return Activity(**data)
+366
View File
@@ -0,0 +1,366 @@
# -*- coding: utf-8 -*-
"""
The MIT License (MIT)
Copyright (c) 2015-2019 Rapptz
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
"""
from . import utils, enums
from .object import Object
from .permissions import PermissionOverwrite, Permissions
from .colour import Colour
from .invite import Invite
def _transform_verification_level(entry, data):
return enums.try_enum(enums.VerificationLevel, data)
def _transform_default_notifications(entry, data):
return enums.try_enum(enums.NotificationLevel, data)
def _transform_explicit_content_filter(entry, data):
return enums.try_enum(enums.ContentFilter, data)
def _transform_permissions(entry, data):
return Permissions(data)
def _transform_color(entry, data):
return Colour(data)
def _transform_snowflake(entry, data):
return int(data)
def _transform_channel(entry, data):
if data is None:
return None
channel = entry.guild.get_channel(int(data)) or Object(id=data)
return channel
def _transform_owner_id(entry, data):
if data is None:
return None
return entry._get_member(int(data))
def _transform_inviter_id(entry, data):
if data is None:
return None
return entry._get_member(int(data))
def _transform_overwrites(entry, data):
overwrites = []
for elem in data:
allow = Permissions(elem["allow"])
deny = Permissions(elem["deny"])
ow = PermissionOverwrite.from_pair(allow, deny)
ow_type = elem["type"]
ow_id = int(elem["id"])
if ow_type == "role":
target = entry.guild.get_role(ow_id)
else:
target = entry._get_member(ow_id)
if target is None:
target = Object(id=ow_id)
overwrites.append((target, ow))
return overwrites
class AuditLogDiff:
def __len__(self):
return len(self.__dict__)
def __iter__(self):
return iter(self.__dict__.items())
def __repr__(self):
return "<AuditLogDiff attrs={0!r}>".format(tuple(self.__dict__))
class AuditLogChanges:
TRANSFORMERS = {
"verification_level": (None, _transform_verification_level),
"explicit_content_filter": (None, _transform_explicit_content_filter),
"allow": (None, _transform_permissions),
"deny": (None, _transform_permissions),
"permissions": (None, _transform_permissions),
"id": (None, _transform_snowflake),
"color": ("colour", _transform_color),
"owner_id": ("owner", _transform_owner_id),
"inviter_id": ("inviter", _transform_inviter_id),
"channel_id": ("channel", _transform_channel),
"afk_channel_id": ("afk_channel", _transform_channel),
"system_channel_id": ("system_channel", _transform_channel),
"widget_channel_id": ("widget_channel", _transform_channel),
"permission_overwrites": ("overwrites", _transform_overwrites),
"splash_hash": ("splash", None),
"icon_hash": ("icon", None),
"avatar_hash": ("avatar", None),
"rate_limit_per_user": ("slowmode_delay", None),
"default_message_notifications": (
"default_notifications",
_transform_default_notifications,
),
}
def __init__(self, entry, data):
self.before = AuditLogDiff()
self.after = AuditLogDiff()
for elem in data:
attr = elem["key"]
# special cases for role add/remove
if attr == "$add":
self._handle_role(self.before, self.after, entry, elem["new_value"])
continue
elif attr == "$remove":
self._handle_role(self.after, self.before, entry, elem["new_value"])
continue
transformer = self.TRANSFORMERS.get(attr)
if transformer:
key, transformer = transformer
if key:
attr = key
try:
before = elem["old_value"]
except KeyError:
before = None
else:
if transformer:
before = transformer(entry, before)
setattr(self.before, attr, before)
try:
after = elem["new_value"]
except KeyError:
after = None
else:
if transformer:
after = transformer(entry, after)
setattr(self.after, attr, after)
# add an alias
if hasattr(self.after, "colour"):
self.after.color = self.after.colour
self.before.color = self.before.colour
def _handle_role(self, first, second, entry, elem):
if not hasattr(first, "roles"):
setattr(first, "roles", [])
data = []
g = entry.guild
for e in elem:
role_id = int(e["id"])
role = g.get_role(role_id)
if role is None:
role = Object(id=role_id)
role.name = e["name"]
data.append(role)
setattr(second, "roles", data)
class AuditLogEntry:
r"""Represents an Audit Log entry.
You retrieve these via :meth:`Guild.audit_logs`.
Attributes
-----------
action: :class:`AuditLogAction`
The action that was done.
user: :class:`abc.User`
The user who initiated this action. Usually a :class:`Member`\, unless gone
then it's a :class:`User`.
id: :class:`int`
The entry ID.
target: Any
The target that got changed. The exact type of this depends on
the action being done.
reason: Optional[:class:`str`]
The reason this action was done.
extra: Any
Extra information that this entry has that might be useful.
For most actions, this is ``None``. However in some cases it
contains extra information. See :class:`AuditLogAction` for
which actions have this field filled out.
"""
def __init__(self, *, users, data, guild):
self._state = guild._state
self.guild = guild
self._users = users
self._from_data(data)
def _from_data(self, data):
self.action = enums.AuditLogAction(data["action_type"])
self.id = int(data["id"])
# this key is technically not usually present
self.reason = data.get("reason")
self.extra = data.get("options")
if self.extra:
if self.action is enums.AuditLogAction.member_prune:
# member prune has two keys with useful information
self.extra = type(
"_AuditLogProxy", (), {k: int(v) for k, v in self.extra.items()}
)()
elif self.action is enums.AuditLogAction.message_delete:
channel_id = int(self.extra["channel_id"])
elems = {
"count": int(self.extra["count"]),
"channel": self.guild.get_channel(channel_id) or Object(id=channel_id),
}
self.extra = type("_AuditLogProxy", (), elems)()
elif self.action.name.startswith("overwrite_"):
# the overwrite_ actions have a dict with some information
instance_id = int(self.extra["id"])
the_type = self.extra.get("type")
if the_type == "member":
self.extra = self._get_member(instance_id)
else:
role = self.guild.get_role(instance_id)
if role is None:
role = Object(id=instance_id)
role.name = self.extra.get("role_name")
self.extra = role
# this key is not present when the above is present, typically.
# It's a list of { new_value: a, old_value: b, key: c }
# where new_value and old_value are not guaranteed to be there depending
# on the action type, so let's just fetch it for now and only turn it
# into meaningful data when requested
self._changes = data.get("changes", [])
self.user = self._get_member(utils._get_as_snowflake(data, "user_id"))
self._target_id = utils._get_as_snowflake(data, "target_id")
def _get_member(self, user_id):
return self.guild.get_member(user_id) or self._users.get(user_id)
def __repr__(self):
return "<AuditLogEntry id={0.id} action={0.action} user={0.user!r}>".format(self)
@utils.cached_property
def created_at(self):
"""Returns the entry's creation time in UTC."""
return utils.snowflake_time(self.id)
@utils.cached_property
def target(self):
try:
converter = getattr(self, "_convert_target_" + self.action.target_type)
except AttributeError:
return Object(id=self._target_id)
else:
return converter(self._target_id)
@utils.cached_property
def category(self):
"""Optional[:class:`AuditLogActionCategory`]: The category of the action, if applicable."""
return self.action.category
@utils.cached_property
def changes(self):
""":class:`AuditLogChanges`: The list of changes this entry has."""
obj = AuditLogChanges(self, self._changes)
del self._changes
return obj
@utils.cached_property
def before(self):
""":class:`AuditLogDiff`: The target's prior state."""
return self.changes.before
@utils.cached_property
def after(self):
""":class:`AuditLogDiff`: The target's subsequent state."""
return self.changes.after
def _convert_target_guild(self, target_id):
return self.guild
def _convert_target_channel(self, target_id):
ch = self.guild.get_channel(target_id)
if ch is None:
return Object(id=target_id)
return ch
def _convert_target_user(self, target_id):
return self._get_member(target_id)
def _convert_target_role(self, target_id):
role = self.guild.get_role(target_id)
if role is None:
return Object(id=target_id)
return role
def _convert_target_invite(self, target_id):
# invites have target_id set to null
# so figure out which change has the full invite data
changeset = (
self.before if self.action is enums.AuditLogAction.invite_delete else self.after
)
fake_payload = {
"max_age": changeset.max_age,
"max_uses": changeset.max_uses,
"code": changeset.code,
"temporary": changeset.temporary,
"channel": changeset.channel,
"uses": changeset.uses,
"guild": self.guild,
}
obj = Invite(state=self._state, data=fake_payload)
try:
obj.inviter = changeset.inviter
except AttributeError:
pass
return obj
def _convert_target_emoji(self, target_id):
return self._state.get_emoji(target_id) or Object(id=target_id)
def _convert_target_message(self, target_id):
return self._get_member(target_id)
+86
View File
@@ -0,0 +1,86 @@
# -*- coding: utf-8 -*-
"""
The MIT License (MIT)
Copyright (c) 2015-2019 Rapptz
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
"""
import time
import random
class ExponentialBackoff:
"""An implementation of the exponential backoff algorithm
Provides a convenient interface to implement an exponential backoff
for reconnecting or retrying transmissions in a distributed network.
Once instantiated, the delay method will return the next interval to
wait for when retrying a connection or transmission. The maximum
delay increases exponentially with each retry up to a maximum of
2^10 * base, and is reset if no more attempts are needed in a period
of 2^11 * base seconds.
Parameters
----------
base: int
The base delay in seconds. The first retry-delay will be up to
this many seconds.
integral: bool
Set to True if whole periods of base is desirable, otherwise any
number in between may be returned.
"""
def __init__(self, base=1, *, integral=False):
self._base = base
self._exp = 0
self._max = 10
self._reset_time = base * 2 ** 11
self._last_invocation = time.monotonic()
# Use our own random instance to avoid messing with global one
rand = random.Random()
rand.seed()
self._randfunc = rand.randrange if integral else rand.uniform
def delay(self):
"""Compute the next delay
Returns the next delay to wait according to the exponential
backoff algorithm. This is a value between 0 and base * 2^exp
where exponent starts off at 1 and is incremented at every
invocation of this method up to a maximum of 10.
If a period of more than base * 2^11 has passed since the last
retry, the exponent is reset to 1.
"""
invocation = time.monotonic()
interval = invocation - self._last_invocation
self._last_invocation = invocation
if interval > self._reset_time:
self._exp = 0
self._exp = min(self._exp + 1, self._max)
return self._randfunc(0, self._base * 2 ** self._exp)
+157
View File
@@ -0,0 +1,157 @@
# -*- coding: utf-8 -*-
"""
The MIT License (MIT)
Copyright (c) 2015-2019 Rapptz
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
"""
import datetime
from . import utils
from .enums import VoiceRegion, try_enum
from .member import VoiceState
class CallMessage:
"""Represents a group call message from Discord.
This is only received in cases where the message type is equivalent to
:attr:`MessageType.call`.
Attributes
-----------
ended_timestamp: Optional[datetime.datetime]
A naive UTC datetime object that represents the time that the call has ended.
participants: List[:class:`User`]
The list of users that are participating in this call.
message: :class:`Message`
The message associated with this call message.
"""
def __init__(self, message, **kwargs):
self.message = message
self.ended_timestamp = utils.parse_time(kwargs.get("ended_timestamp"))
self.participants = kwargs.get("participants")
@property
def call_ended(self):
""":obj:`bool`: Indicates if the call has ended."""
return self.ended_timestamp is not None
@property
def channel(self):
r""":class:`GroupChannel`\: The private channel associated with this message."""
return self.message.channel
@property
def duration(self):
"""Queries the duration of the call.
If the call has not ended then the current duration will
be returned.
Returns
---------
datetime.timedelta
The timedelta object representing the duration.
"""
if self.ended_timestamp is None:
return datetime.datetime.utcnow() - self.message.created_at
else:
return self.ended_timestamp - self.message.created_at
class GroupCall:
"""Represents the actual group call from Discord.
This is accompanied with a :class:`CallMessage` denoting the information.
Attributes
-----------
call: :class:`CallMessage`
The call message associated with this group call.
unavailable: :obj:`bool`
Denotes if this group call is unavailable.
ringing: List[:class:`User`]
A list of users that are currently being rung to join the call.
region: :class:`VoiceRegion`
The guild region the group call is being hosted on.
"""
def __init__(self, **kwargs):
self.call = kwargs.get("call")
self.unavailable = kwargs.get("unavailable")
self._voice_states = {}
for state in kwargs.get("voice_states", []):
self._update_voice_state(state)
self._update(**kwargs)
def _update(self, **kwargs):
self.region = try_enum(VoiceRegion, kwargs.get("region"))
lookup = {u.id: u for u in self.call.channel.recipients}
me = self.call.channel.me
lookup[me.id] = me
self.ringing = list(filter(None, map(lookup.get, kwargs.get("ringing", []))))
def _update_voice_state(self, data):
user_id = int(data["user_id"])
# left the voice channel?
if data["channel_id"] is None:
self._voice_states.pop(user_id, None)
else:
self._voice_states[user_id] = VoiceState(data=data, channel=self.channel)
@property
def connected(self):
"""A property that returns the :obj:`list` of :class:`User` that are currently in this call."""
ret = [u for u in self.channel.recipients if self.voice_state_for(u) is not None]
me = self.channel.me
if self.voice_state_for(me) is not None:
ret.append(me)
return ret
@property
def channel(self):
r""":class:`GroupChannel`\: Returns the channel the group call is in."""
return self.call.channel
def voice_state_for(self, user):
"""Retrieves the :class:`VoiceState` for a specified :class:`User`.
If the :class:`User` has no voice state then this function returns
``None``.
Parameters
------------
user: :class:`User`
The user to retrieve the voice state for.
Returns
--------
Optional[:class:`VoiceState`]
The voice state associated with this user.
"""
return self._voice_states.get(user.id)
+1008
View File
File diff suppressed because it is too large Load Diff
+1074
View File
File diff suppressed because it is too large Load Diff
+234
View File
@@ -0,0 +1,234 @@
# -*- coding: utf-8 -*-
"""
The MIT License (MIT)
Copyright (c) 2015-2019 Rapptz
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
"""
import colorsys
class Colour:
"""Represents a Discord role colour. This class is similar
to an (red, green, blue) :class:`tuple`.
There is an alias for this called Color.
.. container:: operations
.. describe:: x == y
Checks if two colours are equal.
.. describe:: x != y
Checks if two colours are not equal.
.. describe:: hash(x)
Return the colour's hash.
.. describe:: str(x)
Returns the hex format for the colour.
Attributes
------------
value: :class:`int`
The raw integer colour value.
"""
__slots__ = ("value",)
def __init__(self, value):
if not isinstance(value, int):
raise TypeError(
"Expected int parameter, received %s instead." % value.__class__.__name__
)
self.value = value
def _get_byte(self, byte):
return (self.value >> (8 * byte)) & 0xFF
def __eq__(self, other):
return isinstance(other, Colour) and self.value == other.value
def __ne__(self, other):
return not self.__eq__(other)
def __str__(self):
return "#{:0>6x}".format(self.value)
def __repr__(self):
return "<Colour value=%s>" % self.value
def __hash__(self):
return hash(self.value)
@property
def r(self):
"""Returns the red component of the colour."""
return self._get_byte(2)
@property
def g(self):
"""Returns the green component of the colour."""
return self._get_byte(1)
@property
def b(self):
"""Returns the blue component of the colour."""
return self._get_byte(0)
def to_rgb(self):
"""Returns an (r, g, b) tuple representing the colour."""
return (self.r, self.g, self.b)
@classmethod
def from_rgb(cls, r, g, b):
"""Constructs a :class:`Colour` from an RGB tuple."""
return cls((r << 16) + (g << 8) + b)
@classmethod
def from_hsv(cls, h, s, v):
"""Constructs a :class:`Colour` from an HSV tuple."""
rgb = colorsys.hsv_to_rgb(h, s, v)
return cls.from_rgb(*(int(x * 255) for x in rgb))
@classmethod
def default(cls):
"""A factory method that returns a :class:`Colour` with a value of 0."""
return cls(0)
@classmethod
def teal(cls):
"""A factory method that returns a :class:`Colour` with a value of ``0x1abc9c``."""
return cls(0x1ABC9C)
@classmethod
def dark_teal(cls):
"""A factory method that returns a :class:`Colour` with a value of ``0x11806a``."""
return cls(0x11806A)
@classmethod
def green(cls):
"""A factory method that returns a :class:`Colour` with a value of ``0x2ecc71``."""
return cls(0x2ECC71)
@classmethod
def dark_green(cls):
"""A factory method that returns a :class:`Colour` with a value of ``0x1f8b4c``."""
return cls(0x1F8B4C)
@classmethod
def blue(cls):
"""A factory method that returns a :class:`Colour` with a value of ``0x3498db``."""
return cls(0x3498DB)
@classmethod
def dark_blue(cls):
"""A factory method that returns a :class:`Colour` with a value of ``0x206694``."""
return cls(0x206694)
@classmethod
def purple(cls):
"""A factory method that returns a :class:`Colour` with a value of ``0x9b59b6``."""
return cls(0x9B59B6)
@classmethod
def dark_purple(cls):
"""A factory method that returns a :class:`Colour` with a value of ``0x71368a``."""
return cls(0x71368A)
@classmethod
def magenta(cls):
"""A factory method that returns a :class:`Colour` with a value of ``0xe91e63``."""
return cls(0xE91E63)
@classmethod
def dark_magenta(cls):
"""A factory method that returns a :class:`Colour` with a value of ``0xad1457``."""
return cls(0xAD1457)
@classmethod
def gold(cls):
"""A factory method that returns a :class:`Colour` with a value of ``0xf1c40f``."""
return cls(0xF1C40F)
@classmethod
def dark_gold(cls):
"""A factory method that returns a :class:`Colour` with a value of ``0xc27c0e``."""
return cls(0xC27C0E)
@classmethod
def orange(cls):
"""A factory method that returns a :class:`Colour` with a value of ``0xe67e22``."""
return cls(0xE67E22)
@classmethod
def dark_orange(cls):
"""A factory method that returns a :class:`Colour` with a value of ``0xa84300``."""
return cls(0xA84300)
@classmethod
def red(cls):
"""A factory method that returns a :class:`Colour` with a value of ``0xe74c3c``."""
return cls(0xE74C3C)
@classmethod
def dark_red(cls):
"""A factory method that returns a :class:`Colour` with a value of ``0x992d22``."""
return cls(0x992D22)
@classmethod
def lighter_grey(cls):
"""A factory method that returns a :class:`Colour` with a value of ``0x95a5a6``."""
return cls(0x95A5A6)
@classmethod
def dark_grey(cls):
"""A factory method that returns a :class:`Colour` with a value of ``0x607d8b``."""
return cls(0x607D8B)
@classmethod
def light_grey(cls):
"""A factory method that returns a :class:`Colour` with a value of ``0x979c9f``."""
return cls(0x979C9F)
@classmethod
def darker_grey(cls):
"""A factory method that returns a :class:`Colour` with a value of ``0x546e7a``."""
return cls(0x546E7A)
@classmethod
def blurple(cls):
"""A factory method that returns a :class:`Colour` with a value of ``0x7289da``."""
return cls(0x7289DA)
@classmethod
def greyple(cls):
"""A factory method that returns a :class:`Colour` with a value of ``0x99aab5``."""
return cls(0x99AAB5)
Color = Colour
+69
View File
@@ -0,0 +1,69 @@
# -*- coding: utf-8 -*-
"""
The MIT License (MIT)
Copyright (c) 2015-2019 Rapptz
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
"""
import asyncio
def _typing_done_callback(fut):
# just retrieve any exception and call it a day
try:
fut.exception()
except Exception:
pass
class Typing:
def __init__(self, messageable):
self.loop = messageable._state.loop
self.messageable = messageable
async def do_typing(self):
try:
channel = self._channel
except AttributeError:
channel = await self.messageable._get_channel()
typing = channel._state.http.send_typing
while True:
await typing(channel.id)
await asyncio.sleep(5)
def __enter__(self):
self.task = asyncio.ensure_future(self.do_typing(), loop=self.loop)
self.task.add_done_callback(_typing_done_callback)
return self
def __exit__(self, exc_type, exc, tb):
self.task.cancel()
async def __aenter__(self):
self._channel = channel = await self.messageable._get_channel()
await channel._state.http.send_typing(channel.id)
return self.__enter__()
async def __aexit__(self, exc_type, exc, tb):
self.task.cancel()
+492
View File
@@ -0,0 +1,492 @@
# -*- coding: utf-8 -*-
"""
The MIT License (MIT)
Copyright (c) 2015-2019 Rapptz
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
"""
import datetime
from . import utils
from .colour import Colour
class _EmptyEmbed:
def __bool__(self):
return False
def __repr__(self):
return "Embed.Empty"
EmptyEmbed = _EmptyEmbed()
class EmbedProxy:
def __init__(self, layer):
self.__dict__.update(layer)
def __len__(self):
return len(self.__dict__)
def __repr__(self):
return "EmbedProxy(%s)" % ", ".join(
("%s=%r" % (k, v) for k, v in self.__dict__.items() if not k.startswith("_"))
)
def __getattr__(self, attr):
return EmptyEmbed
class Embed:
"""Represents a Discord embed.
The following attributes can be set during creation
of the object:
Certain properties return an ``EmbedProxy``. Which is a type
that acts similar to a regular :class:`dict` except access the attributes
via dotted access, e.g. ``embed.author.icon_url``. If the attribute
is invalid or empty, then a special sentinel value is returned,
:attr:`Embed.Empty`.
For ease of use, all parameters that expect a :class:`str` are implicitly
casted to :class:`str` for you.
Attributes
-----------
title: :class:`str`
The title of the embed.
type: :class:`str`
The type of embed. Usually "rich".
description: :class:`str`
The description of the embed.
url: :class:`str`
The URL of the embed.
timestamp: `datetime.datetime`
The timestamp of the embed content. This could be a naive or aware datetime.
colour: :class:`Colour` or :class:`int`
The colour code of the embed. Aliased to ``color`` as well.
Empty
A special sentinel value used by ``EmbedProxy`` and this class
to denote that the value or attribute is empty.
"""
__slots__ = (
"title",
"url",
"type",
"_timestamp",
"_colour",
"_footer",
"_image",
"_thumbnail",
"_video",
"_provider",
"_author",
"_fields",
"description",
)
Empty = EmptyEmbed
def __init__(self, **kwargs):
# swap the colour/color aliases
try:
colour = kwargs["colour"]
except KeyError:
colour = kwargs.get("color", EmptyEmbed)
self.colour = colour
self.title = kwargs.get("title", EmptyEmbed)
self.type = kwargs.get("type", "rich")
self.url = kwargs.get("url", EmptyEmbed)
self.description = kwargs.get("description", EmptyEmbed)
try:
timestamp = kwargs["timestamp"]
except KeyError:
pass
else:
self.timestamp = timestamp
@classmethod
def from_data(cls, data):
# we are bypassing __init__ here since it doesn't apply here
self = cls.__new__(cls)
# fill in the basic fields
self.title = data.get("title", EmptyEmbed)
self.type = data.get("type", EmptyEmbed)
self.description = data.get("description", EmptyEmbed)
self.url = data.get("url", EmptyEmbed)
# try to fill in the more rich fields
try:
self._colour = Colour(value=data["color"])
except KeyError:
pass
try:
self._timestamp = utils.parse_time(data["timestamp"])
except KeyError:
pass
for attr in ("thumbnail", "video", "provider", "author", "fields", "image", "footer"):
try:
value = data[attr]
except KeyError:
continue
else:
setattr(self, "_" + attr, value)
return self
@property
def colour(self):
return getattr(self, "_colour", EmptyEmbed)
@colour.setter
def colour(self, value):
if isinstance(value, (Colour, _EmptyEmbed)):
self._colour = value
elif isinstance(value, int):
self._colour = Colour(value=value)
else:
raise TypeError(
"Expected discord.Colour, int, or Embed.Empty but received %s instead."
% value.__class__.__name__
)
color = colour
@property
def timestamp(self):
return getattr(self, "_timestamp", EmptyEmbed)
@timestamp.setter
def timestamp(self, value):
if isinstance(value, (datetime.datetime, _EmptyEmbed)):
self._timestamp = value
else:
raise TypeError(
"Expected datetime.datetime or Embed.Empty received %s instead"
% value.__class__.__name__
)
@property
def footer(self):
"""Returns an ``EmbedProxy`` denoting the footer contents.
See :meth:`set_footer` for possible values you can access.
If the attribute has no value then :attr:`Empty` is returned.
"""
return EmbedProxy(getattr(self, "_footer", {}))
def set_footer(self, *, text=EmptyEmbed, icon_url=EmptyEmbed):
"""Sets the footer for the embed content.
This function returns the class instance to allow for fluent-style
chaining.
Parameters
-----------
text: str
The footer text.
icon_url: str
The URL of the footer icon. Only HTTP(S) is supported.
"""
self._footer = {}
if text is not EmptyEmbed:
self._footer["text"] = str(text)
if icon_url is not EmptyEmbed:
self._footer["icon_url"] = str(icon_url)
return self
@property
def image(self):
"""Returns an ``EmbedProxy`` denoting the image contents.
Possible attributes you can access are:
- ``url``
- ``proxy_url``
- ``width``
- ``height``
If the attribute has no value then :attr:`Empty` is returned.
"""
return EmbedProxy(getattr(self, "_image", {}))
def set_image(self, *, url):
"""Sets the image for the embed content.
This function returns the class instance to allow for fluent-style
chaining.
Parameters
-----------
url: str
The source URL for the image. Only HTTP(S) is supported.
"""
self._image = {"url": str(url)}
return self
@property
def thumbnail(self):
"""Returns an ``EmbedProxy`` denoting the thumbnail contents.
Possible attributes you can access are:
- ``url``
- ``proxy_url``
- ``width``
- ``height``
If the attribute has no value then :attr:`Empty` is returned.
"""
return EmbedProxy(getattr(self, "_thumbnail", {}))
def set_thumbnail(self, *, url):
"""Sets the thumbnail for the embed content.
This function returns the class instance to allow for fluent-style
chaining.
Parameters
-----------
url: str
The source URL for the thumbnail. Only HTTP(S) is supported.
"""
self._thumbnail = {"url": str(url)}
return self
@property
def video(self):
"""Returns an ``EmbedProxy`` denoting the video contents.
Possible attributes include:
- ``url`` for the video URL.
- ``height`` for the video height.
- ``width`` for the video width.
If the attribute has no value then :attr:`Empty` is returned.
"""
return EmbedProxy(getattr(self, "_video", {}))
@property
def provider(self):
"""Returns an ``EmbedProxy`` denoting the provider contents.
The only attributes that might be accessed are ``name`` and ``url``.
If the attribute has no value then :attr:`Empty` is returned.
"""
return EmbedProxy(getattr(self, "_provider", {}))
@property
def author(self):
"""Returns an ``EmbedProxy`` denoting the author contents.
See :meth:`set_author` for possible values you can access.
If the attribute has no value then :attr:`Empty` is returned.
"""
return EmbedProxy(getattr(self, "_author", {}))
def set_author(self, *, name, url=EmptyEmbed, icon_url=EmptyEmbed):
"""Sets the author for the embed content.
This function returns the class instance to allow for fluent-style
chaining.
Parameters
-----------
name: str
The name of the author.
url: str
The URL for the author.
icon_url: str
The URL of the author icon. Only HTTP(S) is supported.
"""
self._author = {"name": str(name)}
if url is not EmptyEmbed:
self._author["url"] = str(url)
if icon_url is not EmptyEmbed:
self._author["icon_url"] = str(icon_url)
return self
@property
def fields(self):
"""Returns a :class:`list` of ``EmbedProxy`` denoting the field contents.
See :meth:`add_field` for possible values you can access.
If the attribute has no value then :attr:`Empty` is returned.
"""
return [EmbedProxy(d) for d in getattr(self, "_fields", [])]
def add_field(self, *, name, value, inline=True):
"""Adds a field to the embed object.
This function returns the class instance to allow for fluent-style
chaining.
Parameters
-----------
name: str
The name of the field.
value: str
The value of the field.
inline: bool
Whether the field should be displayed inline.
"""
field = {"inline": inline, "name": str(name), "value": str(value)}
try:
self._fields.append(field)
except AttributeError:
self._fields = [field]
return self
def clear_fields(self):
"""Removes all fields from this embed."""
try:
self._fields.clear()
except AttributeError:
self._fields = []
def remove_field(self, index):
"""Removes a field at a specified index.
If the index is invalid or out of bounds then the error is
silently swallowed.
.. note::
When deleting a field by index, the index of the other fields
shift to fill the gap just like a regular list.
Parameters
-----------
index: int
The index of the field to remove.
"""
try:
del self._fields[index]
except (AttributeError, IndexError):
pass
def set_field_at(self, index, *, name, value, inline=True):
"""Modifies a field to the embed object.
The index must point to a valid pre-existing field.
This function returns the class instance to allow for fluent-style
chaining.
Parameters
-----------
index: int
The index of the field to modify.
name: str
The name of the field.
value: str
The value of the field.
inline: bool
Whether the field should be displayed inline.
Raises
-------
IndexError
An invalid index was provided.
"""
try:
field = self._fields[index]
except (TypeError, IndexError, AttributeError):
raise IndexError("field index out of range")
field["name"] = str(name)
field["value"] = str(value)
field["inline"] = inline
return self
def to_dict(self):
"""Converts this embed object into a dict."""
# add in the raw data into the dict
result = {
key[1:]: getattr(self, key)
for key in self.__slots__
if key[0] == "_" and hasattr(self, key)
}
# deal with basic convenience wrappers
try:
colour = result.pop("colour")
except KeyError:
pass
else:
if colour:
result["color"] = colour.value
try:
timestamp = result.pop("timestamp")
except KeyError:
pass
else:
if timestamp:
result["timestamp"] = timestamp.isoformat()
# add in the non raw attribute ones
if self.type:
result["type"] = self.type
if self.description:
result["description"] = self.description
if self.url:
result["url"] = self.url
if self.title:
result["title"] = self.title
return result
+279
View File
@@ -0,0 +1,279 @@
# -*- coding: utf-8 -*-
"""
The MIT License (MIT)
Copyright (c) 2015-2019 Rapptz
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
"""
from collections import namedtuple
from . import utils
from .mixins import Hashable
class PartialEmoji(namedtuple("PartialEmoji", "animated name id")):
"""Represents a "partial" emoji.
This model will be given in two scenarios:
- "Raw" data events such as :func:`on_raw_reaction_add`
- Custom emoji that the bot cannot see from e.g. :attr:`Message.reactions`
.. container:: operations
.. describe:: x == y
Checks if two emoji are the same.
.. describe:: x != y
Checks if two emoji are not the same.
.. describe:: hash(x)
Return the emoji's hash.
.. describe:: str(x)
Returns the emoji rendered for discord.
Attributes
-----------
name: :class:`str`
The custom emoji name, if applicable, or the unicode codepoint
of the non-custom emoji.
animated: :class:`bool`
Whether the emoji is animated or not.
id: Optional[:class:`int`]
The ID of the custom emoji, if applicable.
"""
__slots__ = ()
def __str__(self):
if self.id is None:
return self.name
if self.animated:
return "<a:%s:%s>" % (self.name, self.id)
return "<:%s:%s>" % (self.name, self.id)
def __eq__(self, other):
if self.is_unicode_emoji():
return isinstance(other, PartialEmoji) and self.name == other.name
if isinstance(other, (PartialEmoji, Emoji)):
return self.id == other.id
def is_custom_emoji(self):
"""Checks if this is a custom non-Unicode emoji."""
return self.id is not None
def is_unicode_emoji(self):
"""Checks if this is a Unicode emoji."""
return self.id is None
def _as_reaction(self):
if self.id is None:
return self.name
return "%s:%s" % (self.name, self.id)
@property
def url(self):
"""Returns a URL version of the emoji, if it is custom."""
if self.is_unicode_emoji():
return None
_format = "gif" if self.animated else "png"
return "https://cdn.discordapp.com/emojis/{0.id}.{1}".format(self, _format)
class Emoji(Hashable):
"""Represents a custom emoji.
Depending on the way this object was created, some of the attributes can
have a value of ``None``.
.. container:: operations
.. describe:: x == y
Checks if two emoji are the same.
.. describe:: x != y
Checks if two emoji are not the same.
.. describe:: hash(x)
Return the emoji's hash.
.. describe:: iter(x)
Returns an iterator of ``(field, value)`` pairs. This allows this class
to be used as an iterable in list/dict/etc constructions.
.. describe:: str(x)
Returns the emoji rendered for discord.
Attributes
-----------
name: :class:`str`
The name of the emoji.
id: :class:`int`
The emoji's ID.
require_colons: :class:`bool`
If colons are required to use this emoji in the client (:PJSalt: vs PJSalt).
animated: :class:`bool`
Whether an emoji is animated or not.
managed: :class:`bool`
If this emoji is managed by a Twitch integration.
guild_id: :class:`int`
The guild ID the emoji belongs to.
"""
__slots__ = (
"require_colons",
"animated",
"managed",
"id",
"name",
"_roles",
"guild_id",
"_state",
)
def __init__(self, *, guild, state, data):
self.guild_id = guild.id
self._state = state
self._from_data(data)
def _from_data(self, emoji):
self.require_colons = emoji["require_colons"]
self.managed = emoji["managed"]
self.id = int(emoji["id"])
self.name = emoji["name"]
self.animated = emoji.get("animated", False)
self._roles = utils.SnowflakeList(map(int, emoji.get("roles", [])))
def _iterator(self):
for attr in self.__slots__:
if attr[0] != "_":
value = getattr(self, attr, None)
if value is not None:
yield (attr, value)
def __iter__(self):
return self._iterator()
def __str__(self):
if self.animated:
return "<a:{0.name}:{0.id}>".format(self)
return "<:{0.name}:{0.id}>".format(self)
def __repr__(self):
return "<Emoji id={0.id} name={0.name!r}>".format(self)
def __eq__(self, other):
return isinstance(other, (PartialEmoji, Emoji)) and self.id == other.id
@property
def created_at(self):
"""Returns the emoji's creation time in UTC."""
return utils.snowflake_time(self.id)
@property
def url(self):
"""Returns a URL version of the emoji."""
_format = "gif" if self.animated else "png"
return "https://cdn.discordapp.com/emojis/{0.id}.{1}".format(self, _format)
@property
def roles(self):
"""List[:class:`Role`]: A :class:`list` of roles that is allowed to use this emoji.
If roles is empty, the emoji is unrestricted.
"""
guild = self.guild
if guild is None:
return []
return [role for role in guild.roles if self._roles.has(role.id)]
@property
def guild(self):
""":class:`Guild`: The guild this emoji belongs to."""
return self._state._get_guild(self.guild_id)
async def delete(self, *, reason=None):
"""|coro|
Deletes the custom emoji.
You must have :attr:`~Permissions.manage_emojis` permission to
do this.
Parameters
-----------
reason: Optional[str]
The reason for deleting this emoji. Shows up on the audit log.
Raises
-------
Forbidden
You are not allowed to delete emojis.
HTTPException
An error occurred deleting the emoji.
"""
await self._state.http.delete_custom_emoji(self.guild.id, self.id, reason=reason)
async def edit(self, *, name, roles=None, reason=None):
r"""|coro|
Edits the custom emoji.
You must have :attr:`~Permissions.manage_emojis` permission to
do this.
Parameters
-----------
name: str
The new emoji name.
roles: Optional[list[:class:`Role`]]
A :class:`list` of :class:`Role`\s that can use this emoji. Leave empty to make it available to everyone.
reason: Optional[str]
The reason for editing this emoji. Shows up on the audit log.
Raises
-------
Forbidden
You are not allowed to edit emojis.
HTTPException
An error occurred editing the emoji.
"""
if roles:
roles = [role.id for role in roles]
await self._state.http.edit_custom_emoji(
self.guild.id, self.id, name=name, roles=roles, reason=reason
)
+285
View File
@@ -0,0 +1,285 @@
# -*- coding: utf-8 -*-
"""
The MIT License (MIT)
Copyright (c) 2015-2019 Rapptz
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
"""
from enum import Enum, IntEnum
__all__ = [
"ChannelType",
"MessageType",
"VoiceRegion",
"SpeakingState",
"VerificationLevel",
"ContentFilter",
"Status",
"DefaultAvatar",
"RelationshipType",
"AuditLogAction",
"AuditLogActionCategory",
"UserFlags",
"ActivityType",
"HypeSquadHouse",
"NotificationLevel",
]
class ChannelType(Enum):
text = 0
private = 1
voice = 2
group = 3
category = 4
def __str__(self):
return self.name
class MessageType(Enum):
default = 0
recipient_add = 1
recipient_remove = 2
call = 3
channel_name_change = 4
channel_icon_change = 5
pins_add = 6
new_member = 7
class VoiceRegion(Enum):
us_west = "us-west"
us_east = "us-east"
us_south = "us-south"
us_central = "us-central"
eu_west = "eu-west"
eu_central = "eu-central"
singapore = "singapore"
london = "london"
sydney = "sydney"
amsterdam = "amsterdam"
frankfurt = "frankfurt"
brazil = "brazil"
hongkong = "hongkong"
russia = "russia"
japan = "japan"
southafrica = "southafrica"
vip_us_east = "vip-us-east"
vip_us_west = "vip-us-west"
vip_amsterdam = "vip-amsterdam"
def __str__(self):
return self.value
class SpeakingState(IntEnum):
none = 0
voice = 1
soundshare = 2
priority = 4
def __str__(self):
return self.name
class VerificationLevel(IntEnum):
none = 0
low = 1
medium = 2
high = 3
table_flip = 3
extreme = 4
double_table_flip = 4
def __str__(self):
return self.name
class ContentFilter(IntEnum):
disabled = 0
no_role = 1
all_members = 2
def __str__(self):
return self.name
class Status(Enum):
online = "online"
offline = "offline"
idle = "idle"
dnd = "dnd"
do_not_disturb = "dnd"
invisible = "invisible"
def __str__(self):
return self.value
class DefaultAvatar(Enum):
blurple = 0
grey = 1
gray = 1
green = 2
orange = 3
red = 4
def __str__(self):
return self.name
class RelationshipType(Enum):
friend = 1
blocked = 2
incoming_request = 3
outgoing_request = 4
class NotificationLevel(IntEnum):
all_messages = 0
only_mentions = 1
class AuditLogActionCategory(Enum):
create = 1
delete = 2
update = 3
class AuditLogAction(Enum):
guild_update = 1
channel_create = 10
channel_update = 11
channel_delete = 12
overwrite_create = 13
overwrite_update = 14
overwrite_delete = 15
kick = 20
member_prune = 21
ban = 22
unban = 23
member_update = 24
member_role_update = 25
role_create = 30
role_update = 31
role_delete = 32
invite_create = 40
invite_update = 41
invite_delete = 42
webhook_create = 50
webhook_update = 51
webhook_delete = 52
emoji_create = 60
emoji_update = 61
emoji_delete = 62
message_delete = 72
@property
def category(self):
lookup = {
AuditLogAction.guild_update: AuditLogActionCategory.update,
AuditLogAction.channel_create: AuditLogActionCategory.create,
AuditLogAction.channel_update: AuditLogActionCategory.update,
AuditLogAction.channel_delete: AuditLogActionCategory.delete,
AuditLogAction.overwrite_create: AuditLogActionCategory.create,
AuditLogAction.overwrite_update: AuditLogActionCategory.update,
AuditLogAction.overwrite_delete: AuditLogActionCategory.delete,
AuditLogAction.kick: None,
AuditLogAction.member_prune: None,
AuditLogAction.ban: None,
AuditLogAction.unban: None,
AuditLogAction.member_update: AuditLogActionCategory.update,
AuditLogAction.member_role_update: AuditLogActionCategory.update,
AuditLogAction.role_create: AuditLogActionCategory.create,
AuditLogAction.role_update: AuditLogActionCategory.update,
AuditLogAction.role_delete: AuditLogActionCategory.delete,
AuditLogAction.invite_create: AuditLogActionCategory.create,
AuditLogAction.invite_update: AuditLogActionCategory.update,
AuditLogAction.invite_delete: AuditLogActionCategory.delete,
AuditLogAction.webhook_create: AuditLogActionCategory.create,
AuditLogAction.webhook_update: AuditLogActionCategory.update,
AuditLogAction.webhook_delete: AuditLogActionCategory.delete,
AuditLogAction.emoji_create: AuditLogActionCategory.create,
AuditLogAction.emoji_update: AuditLogActionCategory.update,
AuditLogAction.emoji_delete: AuditLogActionCategory.delete,
AuditLogAction.message_delete: AuditLogActionCategory.delete,
}
return lookup[self]
@property
def target_type(self):
v = self.value
if v == -1:
return "all"
elif v < 10:
return "guild"
elif v < 20:
return "channel"
elif v < 30:
return "user"
elif v < 40:
return "role"
elif v < 50:
return "invite"
elif v < 60:
return "webhook"
elif v < 70:
return "emoji"
elif v < 80:
return "message"
class UserFlags(Enum):
staff = 1
partner = 2
hypesquad = 4
bug_hunter = 8
hypesquad_bravery = 64
hypesquad_brilliance = 128
hypesquad_balance = 256
early_supporter = 512
class ActivityType(IntEnum):
unknown = -1
playing = 0
streaming = 1
listening = 2
watching = 3
class HypeSquadHouse(Enum):
bravery = 1
brilliance = 2
balance = 3
def try_enum(cls, val):
"""A function that tries to turn the value into enum ``cls``.
If it fails it returns the value instead.
"""
try:
return cls(val)
except ValueError:
return val
+183
View File
@@ -0,0 +1,183 @@
# -*- coding: utf-8 -*-
"""
The MIT License (MIT)
Copyright (c) 2015-2019 Rapptz
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
"""
class DiscordException(Exception):
"""Base exception class for discord.py
Ideally speaking, this could be caught to handle any exceptions thrown from this library.
"""
pass
class ClientException(DiscordException):
"""Exception that's thrown when an operation in the :class:`Client` fails.
These are usually for exceptions that happened due to user input.
"""
pass
class NoMoreItems(DiscordException):
"""Exception that is thrown when an async iteration operation has no more
items."""
pass
class GatewayNotFound(DiscordException):
"""An exception that is usually thrown when the gateway hub
for the :class:`Client` websocket is not found."""
def __init__(self):
message = "The gateway to connect to discord was not found."
super(GatewayNotFound, self).__init__(message)
def flatten_error_dict(d, key=""):
items = []
for k, v in d.items():
new_key = key + "." + k if key else k
if isinstance(v, dict):
try:
_errors = v["_errors"]
except KeyError:
items.extend(flatten_error_dict(v, new_key).items())
else:
items.append((new_key, " ".join(x.get("message", "") for x in _errors)))
else:
items.append((new_key, v))
return dict(items)
class HTTPException(DiscordException):
"""Exception that's thrown when an HTTP request operation fails.
Attributes
------------
response: aiohttp.ClientResponse
The response of the failed HTTP request. This is an
instance of `aiohttp.ClientResponse`__. In some cases
this could also be a ``requests.Response``.
__ http://aiohttp.readthedocs.org/en/stable/client_reference.html#aiohttp.ClientResponse
text: :class:`str`
The text of the error. Could be an empty string.
status: :class:`int`
The status code of the HTTP request.
code: :class:`int`
The Discord specific error code for the failure.
"""
def __init__(self, response, message):
self.response = response
self.status = response.status
if isinstance(message, dict):
self.code = message.get("code", 0)
base = message.get("message", "")
errors = message.get("errors")
if errors:
errors = flatten_error_dict(errors)
helpful = "\n".join("In %s: %s" % t for t in errors.items())
self.text = base + "\n" + helpful
else:
self.text = base
else:
self.text = message
self.code = 0
fmt = "{0.reason} (status code: {0.status})"
if len(self.text):
fmt = fmt + ": {1}"
super().__init__(fmt.format(self.response, self.text))
class Forbidden(HTTPException):
"""Exception that's thrown for when status code 403 occurs.
Subclass of :exc:`HTTPException`
"""
pass
class NotFound(HTTPException):
"""Exception that's thrown for when status code 404 occurs.
Subclass of :exc:`HTTPException`
"""
pass
class InvalidArgument(ClientException):
"""Exception that's thrown when an argument to a function
is invalid some way (e.g. wrong value or wrong type).
This could be considered the analogous of ``ValueError`` and
``TypeError`` except derived from :exc:`ClientException` and thus
:exc:`DiscordException`.
"""
pass
class LoginFailure(ClientException):
"""Exception that's thrown when the :meth:`Client.login` function
fails to log you in from improper credentials or some other misc.
failure.
"""
pass
class ConnectionClosed(ClientException):
"""Exception that's thrown when the gateway connection is
closed for reasons that could not be handled internally.
Attributes
-----------
code: :class:`int`
The close code of the websocket.
reason: :class:`str`
The reason provided for the closure.
shard_id: Optional[:class:`int`]
The shard ID that got closed if applicable.
"""
def __init__(self, original, *, shard_id):
# This exception is just the same exception except
# reconfigured to subclass ClientException for users
self.code = original.code
self.reason = original.reason
self.shard_id = shard_id
super().__init__(str(original))
+19
View File
@@ -0,0 +1,19 @@
# -*- coding: utf-8 -*-
"""
discord.ext.commands
~~~~~~~~~~~~~~~~~~~~~
An extension module to facilitate creation of bot commands.
:copyright: (c) 2019 Rapptz
:license: MIT, see LICENSE for more details.
"""
from .bot import Bot, AutoShardedBot, when_mentioned, when_mentioned_or
from .context import Context
from .core import *
from .errors import *
from .formatter import HelpFormatter, Paginator
from .converter import *
from .cooldowns import *
File diff suppressed because it is too large Load Diff
+225
View File
@@ -0,0 +1,225 @@
# -*- coding: utf-8 -*-
"""
The MIT License (MIT)
Copyright (c) 2015-2019 Rapptz
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
"""
import discord.abc
import discord.utils
class Context(discord.abc.Messageable):
r"""Represents the context in which a command is being invoked under.
This class contains a lot of meta data to help you understand more about
the invocation context. This class is not created manually and is instead
passed around to commands as the first parameter.
This class implements the :class:`abc.Messageable` ABC.
Attributes
-----------
message: :class:`discord.Message`
The message that triggered the command being executed.
bot: :class:`.Bot`
The bot that contains the command being executed.
args: :class:`list`
The list of transformed arguments that were passed into the command.
If this is accessed during the :func:`on_command_error` event
then this list could be incomplete.
kwargs: :class:`dict`
A dictionary of transformed arguments that were passed into the command.
Similar to :attr:`args`\, if this is accessed in the
:func:`on_command_error` event then this dict could be incomplete.
prefix: :class:`str`
The prefix that was used to invoke the command.
command
The command (i.e. :class:`.Command` or its superclasses) that is being
invoked currently.
invoked_with: :class:`str`
The command name that triggered this invocation. Useful for finding out
which alias called the command.
invoked_subcommand
The subcommand (i.e. :class:`.Command` or its superclasses) that was
invoked. If no valid subcommand was invoked then this is equal to
`None`.
subcommand_passed: Optional[:class:`str`]
The string that was attempted to call a subcommand. This does not have
to point to a valid registered subcommand and could just point to a
nonsense string. If nothing was passed to attempt a call to a
subcommand then this is set to `None`.
command_failed: :class:`bool`
A boolean that indicates if the command failed to be parsed, checked,
or invoked.
"""
def __init__(self, **attrs):
self.message = attrs.pop("message", None)
self.bot = attrs.pop("bot", None)
self.args = attrs.pop("args", [])
self.kwargs = attrs.pop("kwargs", {})
self.prefix = attrs.pop("prefix")
self.command = attrs.pop("command", None)
self.view = attrs.pop("view", None)
self.invoked_with = attrs.pop("invoked_with", None)
self.invoked_subcommand = attrs.pop("invoked_subcommand", None)
self.subcommand_passed = attrs.pop("subcommand_passed", None)
self.command_failed = attrs.pop("command_failed", False)
self._state = self.message._state
async def invoke(self, *args, **kwargs):
r"""|coro|
Calls a command with the arguments given.
This is useful if you want to just call the callback that a
:class:`.Command` holds internally.
Note
------
You do not pass in the context as it is done for you.
Warning
---------
The first parameter passed **must** be the command being invoked.
Parameters
-----------
command: :class:`.Command`
A command or superclass of a command that is going to be called.
\*args
The arguments to to use.
\*\*kwargs
The keyword arguments to use.
"""
try:
command = args[0]
except IndexError:
raise TypeError("Missing command to invoke.") from None
arguments = []
if command.instance is not None:
arguments.append(command.instance)
arguments.append(self)
arguments.extend(args[1:])
ret = await command.callback(*arguments, **kwargs)
return ret
async def reinvoke(self, *, call_hooks=False, restart=True):
"""|coro|
Calls the command again.
This is similar to :meth:`~.Context.invoke` except that it bypasses
checks, cooldowns, and error handlers.
.. note::
If you want to bypass :exc:`.UserInputError` derived exceptions,
it is recommended to use the regular :meth:`~.Context.invoke`
as it will work more naturally. After all, this will end up
using the old arguments the user has used and will thus just
fail again.
Parameters
------------
call_hooks: bool
Whether to call the before and after invoke hooks.
restart: bool
Whether to start the call chain from the very beginning
or where we left off (i.e. the command that caused the error).
The default is to start where we left off.
"""
cmd = self.command
view = self.view
if cmd is None:
raise ValueError("This context is not valid.")
# some state to revert to when we're done
index, previous = view.index, view.previous
invoked_with = self.invoked_with
invoked_subcommand = self.invoked_subcommand
subcommand_passed = self.subcommand_passed
if restart:
to_call = cmd.root_parent or cmd
view.index = len(self.prefix)
view.previous = 0
view.get_word() # advance to get the root command
else:
to_call = cmd
try:
await to_call.reinvoke(self, call_hooks=call_hooks)
finally:
self.command = cmd
view.index = index
view.previous = previous
self.invoked_with = invoked_with
self.invoked_subcommand = invoked_subcommand
self.subcommand_passed = subcommand_passed
@property
def valid(self):
"""Checks if the invocation context is valid to be invoked with."""
return self.prefix is not None and self.command is not None
async def _get_channel(self):
return self.channel
@property
def cog(self):
"""Returns the cog associated with this context's command. None if it does not exist."""
if self.command is None:
return None
return self.command.instance
@discord.utils.cached_property
def guild(self):
"""Returns the guild associated with this context's command. None if not available."""
return self.message.guild
@discord.utils.cached_property
def channel(self):
"""Returns the channel associated with this context's command. Shorthand for :attr:`Message.channel`."""
return self.message.channel
@discord.utils.cached_property
def author(self):
"""Returns the author associated with this context's command. Shorthand for :attr:`Message.author`"""
return self.message.author
@discord.utils.cached_property
def me(self):
"""Similar to :attr:`Guild.me` except it may return the :class:`ClientUser` in private message contexts."""
return self.guild.me if self.guild is not None else self.bot.user
@property
def voice_client(self):
r"""Optional[:class:`VoiceClient`]: A shortcut to :attr:`Guild.voice_client`\, if applicable."""
g = self.guild
return g.voice_client if g else None
+560
View File
@@ -0,0 +1,560 @@
# -*- coding: utf-8 -*-
"""
The MIT License (MIT)
Copyright (c) 2015-2019 Rapptz
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
"""
import re
import inspect
import discord
from .errors import BadArgument, NoPrivateMessage
__all__ = [
"Converter",
"MemberConverter",
"UserConverter",
"TextChannelConverter",
"InviteConverter",
"RoleConverter",
"GameConverter",
"ColourConverter",
"VoiceChannelConverter",
"EmojiConverter",
"PartialEmojiConverter",
"CategoryChannelConverter",
"IDConverter",
"clean_content",
"Greedy",
]
def _get_from_guilds(bot, getter, argument):
result = None
for guild in bot.guilds:
result = getattr(guild, getter)(argument)
if result:
return result
return result
class Converter:
"""The base class of custom converters that require the :class:`.Context`
to be passed to be useful.
This allows you to implement converters that function similar to the
special cased ``discord`` classes.
Classes that derive from this should override the :meth:`~.Converter.convert`
method to do its conversion logic. This method must be a coroutine.
"""
async def convert(self, ctx, argument):
"""|coro|
The method to override to do conversion logic.
If an error is found while converting, it is recommended to
raise a :exc:`.CommandError` derived exception as it will
properly propagate to the error handlers.
Parameters
-----------
ctx: :class:`.Context`
The invocation context that the argument is being used in.
argument: str
The argument that is being converted.
"""
raise NotImplementedError("Derived classes need to implement this.")
class IDConverter(Converter):
def __init__(self):
self._id_regex = re.compile(r"([0-9]{15,21})$")
super().__init__()
def _get_id_match(self, argument):
return self._id_regex.match(argument)
class MemberConverter(IDConverter):
"""Converts to a :class:`Member`.
All lookups are via the local guild. If in a DM context, then the lookup
is done by the global cache.
The lookup strategy is as follows (in order):
1. Lookup by ID.
2. Lookup by mention.
3. Lookup by name#discrim
4. Lookup by name
5. Lookup by nickname
"""
async def convert(self, ctx, argument):
bot = ctx.bot
match = self._get_id_match(argument) or re.match(r"<@!?([0-9]+)>$", argument)
guild = ctx.guild
result = None
if match is None:
# not a mention...
if guild:
result = guild.get_member_named(argument)
else:
result = _get_from_guilds(bot, "get_member_named", argument)
else:
user_id = int(match.group(1))
if guild:
result = guild.get_member(user_id)
else:
result = _get_from_guilds(bot, "get_member", user_id)
if result is None:
raise BadArgument('Member "{}" not found'.format(argument))
return result
class UserConverter(IDConverter):
"""Converts to a :class:`User`.
All lookups are via the global user cache.
The lookup strategy is as follows (in order):
1. Lookup by ID.
2. Lookup by mention.
3. Lookup by name#discrim
4. Lookup by name
"""
async def convert(self, ctx, argument):
match = self._get_id_match(argument) or re.match(r"<@!?([0-9]+)>$", argument)
result = None
state = ctx._state
if match is not None:
user_id = int(match.group(1))
result = ctx.bot.get_user(user_id)
else:
arg = argument
# check for discriminator if it exists
if len(arg) > 5 and arg[-5] == "#":
discrim = arg[-4:]
name = arg[:-5]
predicate = lambda u: u.name == name and u.discriminator == discrim
result = discord.utils.find(predicate, state._users.values())
if result is not None:
return result
predicate = lambda u: u.name == arg
result = discord.utils.find(predicate, state._users.values())
if result is None:
raise BadArgument('User "{}" not found'.format(argument))
return result
class TextChannelConverter(IDConverter):
"""Converts to a :class:`TextChannel`.
All lookups are via the local guild. If in a DM context, then the lookup
is done by the global cache.
The lookup strategy is as follows (in order):
1. Lookup by ID.
2. Lookup by mention.
3. Lookup by name
"""
async def convert(self, ctx, argument):
bot = ctx.bot
match = self._get_id_match(argument) or re.match(r"<#([0-9]+)>$", argument)
result = None
guild = ctx.guild
if match is None:
# not a mention
if guild:
result = discord.utils.get(guild.text_channels, name=argument)
else:
def check(c):
return isinstance(c, discord.TextChannel) and c.name == argument
result = discord.utils.find(check, bot.get_all_channels())
else:
channel_id = int(match.group(1))
if guild:
result = guild.get_channel(channel_id)
else:
result = _get_from_guilds(bot, "get_channel", channel_id)
if not isinstance(result, discord.TextChannel):
raise BadArgument('Channel "{}" not found.'.format(argument))
return result
class VoiceChannelConverter(IDConverter):
"""Converts to a :class:`VoiceChannel`.
All lookups are via the local guild. If in a DM context, then the lookup
is done by the global cache.
The lookup strategy is as follows (in order):
1. Lookup by ID.
2. Lookup by mention.
3. Lookup by name
"""
async def convert(self, ctx, argument):
bot = ctx.bot
match = self._get_id_match(argument) or re.match(r"<#([0-9]+)>$", argument)
result = None
guild = ctx.guild
if match is None:
# not a mention
if guild:
result = discord.utils.get(guild.voice_channels, name=argument)
else:
def check(c):
return isinstance(c, discord.VoiceChannel) and c.name == argument
result = discord.utils.find(check, bot.get_all_channels())
else:
channel_id = int(match.group(1))
if guild:
result = guild.get_channel(channel_id)
else:
result = _get_from_guilds(bot, "get_channel", channel_id)
if not isinstance(result, discord.VoiceChannel):
raise BadArgument('Channel "{}" not found.'.format(argument))
return result
class CategoryChannelConverter(IDConverter):
"""Converts to a :class:`CategoryChannel`.
All lookups are via the local guild. If in a DM context, then the lookup
is done by the global cache.
The lookup strategy is as follows (in order):
1. Lookup by ID.
2. Lookup by mention.
3. Lookup by name
"""
async def convert(self, ctx, argument):
bot = ctx.bot
match = self._get_id_match(argument) or re.match(r"<#([0-9]+)>$", argument)
result = None
guild = ctx.guild
if match is None:
# not a mention
if guild:
result = discord.utils.get(guild.categories, name=argument)
else:
def check(c):
return isinstance(c, discord.CategoryChannel) and c.name == argument
result = discord.utils.find(check, bot.get_all_channels())
else:
channel_id = int(match.group(1))
if guild:
result = guild.get_channel(channel_id)
else:
result = _get_from_guilds(bot, "get_channel", channel_id)
if not isinstance(result, discord.CategoryChannel):
raise BadArgument('Channel "{}" not found.'.format(argument))
return result
class ColourConverter(Converter):
"""Converts to a :class:`Colour`.
The following formats are accepted:
- ``0x<hex>``
- ``#<hex>``
- ``0x#<hex>``
- Any of the ``classmethod`` in :class:`Colour`
- The ``_`` in the name can be optionally replaced with spaces.
"""
async def convert(self, ctx, argument):
arg = argument.replace("0x", "").lower()
if arg[0] == "#":
arg = arg[1:]
try:
value = int(arg, base=16)
return discord.Colour(value=value)
except ValueError:
method = getattr(discord.Colour, arg.replace(" ", "_"), None)
if method is None or not inspect.ismethod(method):
raise BadArgument('Colour "{}" is invalid.'.format(arg))
return method()
class RoleConverter(IDConverter):
"""Converts to a :class:`Role`.
All lookups are via the local guild. If in a DM context, then the lookup
is done by the global cache.
The lookup strategy is as follows (in order):
1. Lookup by ID.
2. Lookup by mention.
3. Lookup by name
"""
async def convert(self, ctx, argument):
guild = ctx.guild
if not guild:
raise NoPrivateMessage()
match = self._get_id_match(argument) or re.match(r"<@&([0-9]+)>$", argument)
if match:
result = guild.get_role(int(match.group(1)))
else:
result = discord.utils.get(guild._roles.values(), name=argument)
if result is None:
raise BadArgument('Role "{}" not found.'.format(argument))
return result
class GameConverter(Converter):
"""Converts to :class:`Game`."""
async def convert(self, ctx, argument):
return discord.Game(name=argument)
class InviteConverter(Converter):
"""Converts to a :class:`Invite`.
This is done via an HTTP request using :meth:`.Bot.get_invite`.
"""
async def convert(self, ctx, argument):
try:
invite = await ctx.bot.get_invite(argument)
return invite
except Exception as exc:
raise BadArgument("Invite is invalid or expired") from exc
class EmojiConverter(IDConverter):
"""Converts to a :class:`Emoji`.
All lookups are done for the local guild first, if available. If that lookup
fails, then it checks the client's global cache.
The lookup strategy is as follows (in order):
1. Lookup by ID.
2. Lookup by extracting ID from the emoji.
3. Lookup by name
"""
async def convert(self, ctx, argument):
match = self._get_id_match(argument) or re.match(
r"<a?:[a-zA-Z0-9\_]+:([0-9]+)>$", argument
)
result = None
bot = ctx.bot
guild = ctx.guild
if match is None:
# Try to get the emoji by name. Try local guild first.
if guild:
result = discord.utils.get(guild.emojis, name=argument)
if result is None:
result = discord.utils.get(bot.emojis, name=argument)
else:
emoji_id = int(match.group(1))
# Try to look up emoji by id.
if guild:
result = discord.utils.get(guild.emojis, id=emoji_id)
if result is None:
result = discord.utils.get(bot.emojis, id=emoji_id)
if result is None:
raise BadArgument('Emoji "{}" not found.'.format(argument))
return result
class PartialEmojiConverter(Converter):
"""Converts to a :class:`PartialEmoji`.
This is done by extracting the animated flag, name and ID from the emoji.
"""
async def convert(self, ctx, argument):
match = re.match(r"<(a?):([a-zA-Z0-9\_]+):([0-9]+)>$", argument)
if match:
emoji_animated = bool(match.group(1))
emoji_name = match.group(2)
emoji_id = int(match.group(3))
return discord.PartialEmoji(animated=emoji_animated, name=emoji_name, id=emoji_id)
raise BadArgument('Couldn\'t convert "{}" to PartialEmoji.'.format(argument))
class clean_content(Converter):
"""Converts the argument to mention scrubbed version of
said content.
This behaves similarly to :attr:`.Message.clean_content`.
Attributes
------------
fix_channel_mentions: :obj:`bool`
Whether to clean channel mentions.
use_nicknames: :obj:`bool`
Whether to use nicknames when transforming mentions.
escape_markdown: :obj:`bool`
Whether to also escape special markdown characters.
"""
def __init__(self, *, fix_channel_mentions=False, use_nicknames=True, escape_markdown=False):
self.fix_channel_mentions = fix_channel_mentions
self.use_nicknames = use_nicknames
self.escape_markdown = escape_markdown
async def convert(self, ctx, argument):
message = ctx.message
transformations = {}
if self.fix_channel_mentions and ctx.guild:
def resolve_channel(id, *, _get=ctx.guild.get_channel):
ch = _get(id)
return ("<#%s>" % id), ("#" + ch.name if ch else "#deleted-channel")
transformations.update(
resolve_channel(channel) for channel in message.raw_channel_mentions
)
if self.use_nicknames and ctx.guild:
def resolve_member(id, *, _get=ctx.guild.get_member):
m = _get(id)
return "@" + m.display_name if m else "@deleted-user"
else:
def resolve_member(id, *, _get=ctx.bot.get_user):
m = _get(id)
return "@" + m.name if m else "@deleted-user"
transformations.update(
("<@%s>" % member_id, resolve_member(member_id)) for member_id in message.raw_mentions
)
transformations.update(
("<@!%s>" % member_id, resolve_member(member_id)) for member_id in message.raw_mentions
)
if ctx.guild:
def resolve_role(_id, *, _find=ctx.guild.get_role):
r = _find(_id)
return "@" + r.name if r else "@deleted-role"
transformations.update(
("<@&%s>" % role_id, resolve_role(role_id))
for role_id in message.raw_role_mentions
)
def repl(obj):
return transformations.get(obj.group(0), "")
pattern = re.compile("|".join(transformations.keys()))
result = pattern.sub(repl, argument)
if self.escape_markdown:
transformations = {re.escape(c): "\\" + c for c in ("*", "`", "_", "~", "\\", "||")}
def replace(obj):
return transformations.get(re.escape(obj.group(0)), "")
pattern = re.compile("|".join(transformations.keys()))
result = pattern.sub(replace, result)
# Completely ensure no mentions escape:
return re.sub(r"@(everyone|here|[!&]?[0-9]{17,21})", "@\u200b\\1", result)
class _Greedy:
__slots__ = ("converter",)
def __init__(self, *, converter=None):
self.converter = converter
def __getitem__(self, params):
if not isinstance(params, tuple):
params = (params,)
if len(params) != 1:
raise TypeError("Greedy[...] only takes a single argument")
converter = params[0]
if not inspect.isclass(converter):
raise TypeError("Greedy[...] expects a type.")
if converter is str or converter is type(None) or converter is _Greedy:
raise TypeError("Greedy[%s] is invalid." % converter.__name__)
return self.__class__(converter=converter)
Greedy = _Greedy()
+148
View File
@@ -0,0 +1,148 @@
# -*- coding: utf-8 -*-
"""
The MIT License (MIT)
Copyright (c) 2015-2019 Rapptz
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
"""
import enum
import time
__all__ = ["BucketType", "Cooldown", "CooldownMapping"]
class BucketType(enum.Enum):
default = 0
user = 1
guild = 2
channel = 3
member = 4
category = 5
class Cooldown:
__slots__ = ("rate", "per", "type", "_window", "_tokens", "_last")
def __init__(self, rate, per, type):
self.rate = int(rate)
self.per = float(per)
self.type = type
self._window = 0.0
self._tokens = self.rate
self._last = 0.0
if not isinstance(self.type, BucketType):
raise TypeError("Cooldown type must be a BucketType")
def get_tokens(self, current=None):
if not current:
current = time.time()
tokens = self._tokens
if current > self._window + self.per:
tokens = self.rate
return tokens
def update_rate_limit(self):
current = time.time()
self._last = current
self._tokens = self.get_tokens(current)
# first token used means that we start a new rate limit window
if self._tokens == self.rate:
self._window = current
# check if we are rate limited
if self._tokens == 0:
return self.per - (current - self._window)
# we're not so decrement our tokens
self._tokens -= 1
# see if we got rate limited due to this token change, and if
# so update the window to point to our current time frame
if self._tokens == 0:
self._window = current
def reset(self):
self._tokens = self.rate
self._last = 0.0
def copy(self):
return Cooldown(self.rate, self.per, self.type)
def __repr__(self):
return "<Cooldown rate: {0.rate} per: {0.per} window: {0._window} tokens: {0._tokens}>".format(
self
)
class CooldownMapping:
def __init__(self, original):
self._cache = {}
self._cooldown = original
@property
def valid(self):
return self._cooldown is not None
@classmethod
def from_cooldown(cls, rate, per, type):
return cls(Cooldown(rate, per, type))
def _bucket_key(self, msg):
bucket_type = self._cooldown.type
if bucket_type is BucketType.user:
return msg.author.id
elif bucket_type is BucketType.guild:
return (msg.guild or msg.author).id
elif bucket_type is BucketType.channel:
return msg.channel.id
elif bucket_type is BucketType.member:
return ((msg.guild and msg.guild.id), msg.author.id)
elif bucket_type is BucketType.category:
return (msg.channel.category or msg.channel).id
def _verify_cache_integrity(self):
# we want to delete all cache objects that haven't been used
# in a cooldown window. e.g. if we have a command that has a
# cooldown of 60s and it has not been used in 60s then that key should be deleted
current = time.time()
dead_keys = [k for k, v in self._cache.items() if current > v._last + v.per]
for k in dead_keys:
del self._cache[k]
def get_bucket(self, message):
if self._cooldown.type is BucketType.default:
return self._cooldown
self._verify_cache_integrity()
key = self._bucket_key(message)
if key not in self._cache:
bucket = self._cooldown.copy()
self._cache[key] = bucket
else:
bucket = self._cache[key]
return bucket
File diff suppressed because it is too large Load Diff
+279
View File
@@ -0,0 +1,279 @@
# -*- coding: utf-8 -*-
"""
The MIT License (MIT)
Copyright (c) 2015-2019 Rapptz
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
"""
from discord.errors import DiscordException
__all__ = [
"CommandError",
"MissingRequiredArgument",
"BadArgument",
"NoPrivateMessage",
"CheckFailure",
"CommandNotFound",
"DisabledCommand",
"CommandInvokeError",
"TooManyArguments",
"UserInputError",
"CommandOnCooldown",
"NotOwner",
"MissingPermissions",
"BotMissingPermissions",
"ConversionError",
"BadUnionArgument",
]
class CommandError(DiscordException):
r"""The base exception type for all command related errors.
This inherits from :exc:`discord.DiscordException`.
This exception and exceptions derived from it are handled
in a special way as they are caught and passed into a special event
from :class:`.Bot`\, :func:`on_command_error`.
"""
def __init__(self, message=None, *args):
if message is not None:
# clean-up @everyone and @here mentions
m = message.replace("@everyone", "@\u200beveryone").replace("@here", "@\u200bhere")
super().__init__(m, *args)
else:
super().__init__(*args)
class ConversionError(CommandError):
"""Exception raised when a Converter class raises non-CommandError.
This inherits from :exc:`.CommandError`.
Attributes
----------
converter: :class:`discord.ext.commands.Converter`
The converter that failed.
original
The original exception that was raised. You can also get this via
the ``__cause__`` attribute.
"""
def __init__(self, converter, original):
self.converter = converter
self.original = original
class UserInputError(CommandError):
"""The base exception type for errors that involve errors
regarding user input.
This inherits from :exc:`.CommandError`.
"""
pass
class CommandNotFound(CommandError):
"""Exception raised when a command is attempted to be invoked
but no command under that name is found.
This is not raised for invalid subcommands, rather just the
initial main command that is attempted to be invoked.
"""
pass
class MissingRequiredArgument(UserInputError):
"""Exception raised when parsing a command and a parameter
that is required is not encountered.
Attributes
-----------
param: :class:`inspect.Parameter`
The argument that is missing.
"""
def __init__(self, param):
self.param = param
super().__init__("{0.name} is a required argument that is missing.".format(param))
class TooManyArguments(UserInputError):
"""Exception raised when the command was passed too many arguments and its
:attr:`.Command.ignore_extra` attribute was not set to ``True``.
"""
pass
class BadArgument(UserInputError):
"""Exception raised when a parsing or conversion failure is encountered
on an argument to pass into a command.
"""
pass
class CheckFailure(CommandError):
"""Exception raised when the predicates in :attr:`.Command.checks` have failed."""
pass
class NoPrivateMessage(CheckFailure):
"""Exception raised when an operation does not work in private message
contexts.
"""
pass
class NotOwner(CheckFailure):
"""Exception raised when the message author is not the owner of the bot."""
pass
class DisabledCommand(CommandError):
"""Exception raised when the command being invoked is disabled."""
pass
class CommandInvokeError(CommandError):
"""Exception raised when the command being invoked raised an exception.
Attributes
-----------
original
The original exception that was raised. You can also get this via
the ``__cause__`` attribute.
"""
def __init__(self, e):
self.original = e
super().__init__("Command raised an exception: {0.__class__.__name__}: {0}".format(e))
class CommandOnCooldown(CommandError):
"""Exception raised when the command being invoked is on cooldown.
Attributes
-----------
cooldown: Cooldown
A class with attributes ``rate``, ``per``, and ``type`` similar to
the :func:`.cooldown` decorator.
retry_after: :class:`float`
The amount of seconds to wait before you can retry again.
"""
def __init__(self, cooldown, retry_after):
self.cooldown = cooldown
self.retry_after = retry_after
super().__init__("You are on cooldown. Try again in {:.2f}s".format(retry_after))
class MissingPermissions(CheckFailure):
"""Exception raised when the command invoker lacks permissions to run
command.
Attributes
-----------
missing_perms: :class:`list`
The required permissions that are missing.
"""
def __init__(self, missing_perms, *args):
self.missing_perms = missing_perms
missing = [
perm.replace("_", " ").replace("guild", "server").title() for perm in missing_perms
]
if len(missing) > 2:
fmt = "{}, and {}".format(", ".join(missing[:-1]), missing[-1])
else:
fmt = " and ".join(missing)
message = "You are missing {} permission(s) to run command.".format(fmt)
super().__init__(message, *args)
class BotMissingPermissions(CheckFailure):
"""Exception raised when the bot lacks permissions to run command.
Attributes
-----------
missing_perms: :class:`list`
The required permissions that are missing.
"""
def __init__(self, missing_perms, *args):
self.missing_perms = missing_perms
missing = [
perm.replace("_", " ").replace("guild", "server").title() for perm in missing_perms
]
if len(missing) > 2:
fmt = "{}, and {}".format(", ".join(missing[:-1]), missing[-1])
else:
fmt = " and ".join(missing)
message = "Bot requires {} permission(s) to run command.".format(fmt)
super().__init__(message, *args)
class BadUnionArgument(UserInputError):
"""Exception raised when a :class:`typing.Union` converter fails for all
its associated types.
Attributes
-----------
param: :class:`inspect.Parameter`
The parameter that failed being converted.
converters: Tuple[Type, ...]
A tuple of converters attempted in conversion, in order of failure.
errors: List[:class:`CommandError`]
A list of errors that were caught from failing the conversion.
"""
def __init__(self, param, converters, errors):
self.param = param
self.converters = converters
self.errors = errors
def _get_name(x):
try:
return x.__name__
except AttributeError:
return x.__class__.__name__
to_string = [_get_name(x) for x in converters]
if len(to_string) > 2:
fmt = "{}, or {}".format(", ".join(to_string[:-1]), to_string[-1])
else:
fmt = " or ".join(to_string)
super().__init__('Could not convert "{0.name}" into {1}.'.format(param, fmt))
+370
View File
@@ -0,0 +1,370 @@
# -*- coding: utf-8 -*-
"""
The MIT License (MIT)
Copyright (c) 2015-2019 Rapptz
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
"""
import itertools
import inspect
import discord.utils
from .core import GroupMixin, Command
from .errors import CommandError
# from discord.iterators import _FilteredAsyncIterator
# help -> shows info of bot on top/bottom and lists subcommands
# help command -> shows detailed info of command
# help command <subcommand chain> -> same as above
# <description>
# <command signature with aliases>
# <long doc>
# Cog:
# <command> <shortdoc>
# <command> <shortdoc>
# Other Cog:
# <command> <shortdoc>
# No Category:
# <command> <shortdoc>
# Type <prefix>help command for more info on a command.
# You can also type <prefix>help category for more info on a category.
class Paginator:
"""A class that aids in paginating code blocks for Discord messages.
Attributes
-----------
prefix: :class:`str`
The prefix inserted to every page. e.g. three backticks.
suffix: :class:`str`
The suffix appended at the end of every page. e.g. three backticks.
max_size: :class:`int`
The maximum amount of codepoints allowed in a page.
"""
def __init__(self, prefix="```", suffix="```", max_size=2000):
self.prefix = prefix
self.suffix = suffix
self.max_size = max_size - len(suffix)
self._current_page = [prefix]
self._count = len(prefix) + 1 # prefix + newline
self._pages = []
def add_line(self, line="", *, empty=False):
"""Adds a line to the current page.
If the line exceeds the :attr:`max_size` then an exception
is raised.
Parameters
-----------
line: str
The line to add.
empty: bool
Indicates if another empty line should be added.
Raises
------
RuntimeError
The line was too big for the current :attr:`max_size`.
"""
if len(line) > self.max_size - len(self.prefix) - 2:
raise RuntimeError(
"Line exceeds maximum page size %s" % (self.max_size - len(self.prefix) - 2)
)
if self._count + len(line) + 1 > self.max_size:
self.close_page()
self._count += len(line) + 1
self._current_page.append(line)
if empty:
self._current_page.append("")
self._count += 1
def close_page(self):
"""Prematurely terminate a page."""
self._current_page.append(self.suffix)
self._pages.append("\n".join(self._current_page))
self._current_page = [self.prefix]
self._count = len(self.prefix) + 1 # prefix + newline
@property
def pages(self):
"""Returns the rendered list of pages."""
# we have more than just the prefix in our current page
if len(self._current_page) > 1:
self.close_page()
return self._pages
def __repr__(self):
fmt = "<Paginator prefix: {0.prefix} suffix: {0.suffix} max_size: {0.max_size} count: {0._count}>"
return fmt.format(self)
class HelpFormatter:
"""The default base implementation that handles formatting of the help
command.
To override the behaviour of the formatter, :meth:`~.HelpFormatter.format`
should be overridden. A number of utility functions are provided for use
inside that method.
Attributes
-----------
show_hidden: :class:`bool`
Dictates if hidden commands should be shown in the output.
Defaults to ``False``.
show_check_failure: :class:`bool`
Dictates if commands that have their :attr:`.Command.checks` failed
shown. Defaults to ``False``.
width: :class:`int`
The maximum number of characters that fit in a line.
Defaults to 80.
"""
def __init__(self, show_hidden=False, show_check_failure=False, width=80):
self.width = width
self.show_hidden = show_hidden
self.show_check_failure = show_check_failure
def has_subcommands(self):
""":class:`bool`: Specifies if the command has subcommands."""
return isinstance(self.command, GroupMixin)
def is_bot(self):
""":class:`bool`: Specifies if the command being formatted is the bot itself."""
return self.command is self.context.bot
def is_cog(self):
""":class:`bool`: Specifies if the command being formatted is actually a cog."""
return not self.is_bot() and not isinstance(self.command, Command)
def shorten(self, text):
"""Shortens text to fit into the :attr:`width`."""
if len(text) > self.width:
return text[: self.width - 3] + "..."
return text
@property
def max_name_size(self):
""":class:`int`: Returns the largest name length of a command or if it has subcommands
the largest subcommand name."""
try:
commands = (
self.command.all_commands if not self.is_cog() else self.context.bot.all_commands
)
if commands:
return max(
map(
lambda c: discord.utils._string_width(c.name)
if self.show_hidden or not c.hidden
else 0,
commands.values(),
)
)
return 0
except AttributeError:
return len(self.command.name)
@property
def clean_prefix(self):
"""The cleaned up invoke prefix. i.e. mentions are ``@name`` instead of ``<@id>``."""
user = self.context.guild.me if self.context.guild else self.context.bot.user
# this breaks if the prefix mention is not the bot itself but I
# consider this to be an *incredibly* strange use case. I'd rather go
# for this common use case rather than waste performance for the
# odd one.
return self.context.prefix.replace(user.mention, "@" + user.display_name)
def get_command_signature(self):
"""Retrieves the signature portion of the help page."""
prefix = self.clean_prefix
cmd = self.command
return prefix + cmd.signature
def get_ending_note(self):
command_name = self.context.invoked_with
return (
"Type {0}{1} command for more info on a command.\n"
"You can also type {0}{1} category for more info on a category.".format(
self.clean_prefix, command_name
)
)
async def filter_command_list(self):
"""Returns a filtered list of commands based on the two attributes
provided, :attr:`show_check_failure` and :attr:`show_hidden`.
Also filters based on if :meth:`~.HelpFormatter.is_cog` is valid.
Returns
--------
iterable
An iterable with the filter being applied. The resulting value is
a (key, value) :class:`tuple` of the command name and the command itself.
"""
def sane_no_suspension_point_predicate(tup):
cmd = tup[1]
if self.is_cog():
# filter commands that don't exist to this cog.
if cmd.instance is not self.command:
return False
if cmd.hidden and not self.show_hidden:
return False
return True
async def predicate(tup):
if sane_no_suspension_point_predicate(tup) is False:
return False
cmd = tup[1]
try:
return await cmd.can_run(self.context)
except CommandError:
return False
iterator = (
self.command.all_commands.items()
if not self.is_cog()
else self.context.bot.all_commands.items()
)
if self.show_check_failure:
return filter(sane_no_suspension_point_predicate, iterator)
# Gotta run every check and verify it
ret = []
for elem in iterator:
valid = await predicate(elem)
if valid:
ret.append(elem)
return ret
def _add_subcommands_to_page(self, max_width, commands):
for name, command in commands:
if name in command.aliases:
# skip aliases
continue
width_gap = discord.utils._string_width(name) - len(name)
entry = " {0:<{width}} {1}".format(
name, command.short_doc, width=max_width - width_gap
)
shortened = self.shorten(entry)
self._paginator.add_line(shortened)
async def format_help_for(self, context, command_or_bot):
"""Formats the help page and handles the actual heavy lifting of how
the help command looks like. To change the behaviour, override the
:meth:`~.HelpFormatter.format` method.
Parameters
-----------
context: :class:`.Context`
The context of the invoked help command.
command_or_bot: :class:`.Command` or :class:`.Bot`
The bot or command that we are getting the help of.
Returns
--------
list
A paginated output of the help command.
"""
self.context = context
self.command = command_or_bot
return await self.format()
async def format(self):
"""Handles the actual behaviour involved with formatting.
To change the behaviour, this method should be overridden.
Returns
--------
list
A paginated output of the help command.
"""
self._paginator = Paginator()
# we need a padding of ~80 or so
description = (
self.command.description if not self.is_cog() else inspect.getdoc(self.command)
)
if description:
# <description> portion
self._paginator.add_line(description, empty=True)
if isinstance(self.command, Command):
# <signature portion>
signature = self.get_command_signature()
self._paginator.add_line(signature, empty=True)
# <long doc> section
if self.command.help:
self._paginator.add_line(self.command.help, empty=True)
# end it here if it's just a regular command
if not self.has_subcommands():
self._paginator.close_page()
return self._paginator.pages
max_width = self.max_name_size
def category(tup):
cog = tup[1].cog_name
# we insert the zero width space there to give it approximate
# last place sorting position.
return cog + ":" if cog is not None else "\u200bNo Category:"
filtered = await self.filter_command_list()
if self.is_bot():
data = sorted(filtered, key=category)
for category, commands in itertools.groupby(data, key=category):
# there simply is no prettier way of doing this.
commands = sorted(commands)
if len(commands) > 0:
self._paginator.add_line(category)
self._add_subcommands_to_page(max_width, commands)
else:
filtered = sorted(filtered)
if filtered:
self._paginator.add_line("Commands:")
self._add_subcommands_to_page(max_width, filtered)
# add the ending note
self._paginator.add_line()
ending_note = self.get_ending_note()
self._paginator.add_line(ending_note)
return self._paginator.pages
+201
View File
@@ -0,0 +1,201 @@
# -*- coding: utf-8 -*-
"""
The MIT License (MIT)
Copyright (c) 2015-2019 Rapptz
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
"""
from .errors import BadArgument
class StringView:
def __init__(self, buffer):
self.index = 0
self.buffer = buffer
self.end = len(buffer)
self.previous = 0
@property
def current(self):
return None if self.eof else self.buffer[self.index]
@property
def eof(self):
return self.index >= self.end
def undo(self):
self.index = self.previous
def skip_ws(self):
pos = 0
while not self.eof:
try:
current = self.buffer[self.index + pos]
if not current.isspace():
break
pos += 1
except IndexError:
break
self.previous = self.index
self.index += pos
return self.previous != self.index
def skip_string(self, string):
strlen = len(string)
if self.buffer[self.index : self.index + strlen] == string:
self.previous = self.index
self.index += strlen
return True
return False
def read_rest(self):
result = self.buffer[self.index :]
self.previous = self.index
self.index = self.end
return result
def read(self, n):
result = self.buffer[self.index : self.index + n]
self.previous = self.index
self.index += n
return result
def get(self):
try:
result = self.buffer[self.index + 1]
except IndexError:
result = None
self.previous = self.index
self.index += 1
return result
def get_word(self):
pos = 0
while not self.eof:
try:
current = self.buffer[self.index + pos]
if current.isspace():
break
pos += 1
except IndexError:
break
self.previous = self.index
result = self.buffer[self.index : self.index + pos]
self.index += pos
return result
def __repr__(self):
return "<StringView pos: {0.index} prev: {0.previous} end: {0.end} eof: {0.eof}>".format(
self
)
# Parser
# map from opening quotes to closing quotes
_quotes = {
'"': '"',
"": "",
"": "",
"": "",
"": "",
"": "",
"": "",
"": "",
"": "",
"": "",
"": "",
"": "",
"": "",
"«": "»",
"": "",
"": "",
"": "",
}
_all_quotes = set(_quotes.keys()) | set(_quotes.values())
def quoted_word(view):
current = view.current
if current is None:
return None
close_quote = _quotes.get(current)
is_quoted = bool(close_quote)
if is_quoted:
result = []
_escaped_quotes = (current, close_quote)
else:
result = [current]
_escaped_quotes = _all_quotes
while not view.eof:
current = view.get()
if not current:
if is_quoted:
# unexpected EOF
raise BadArgument("Expected closing {}.".format(close_quote))
return "".join(result)
# currently we accept strings in the format of "hello world"
# to embed a quote inside the string you must escape it: "a \"world\""
if current == "\\":
next_char = view.get()
if not next_char:
# string ends with \ and no character after it
if is_quoted:
# if we're quoted then we're expecting a closing quote
raise BadArgument("Expected closing {}.".format(close_quote))
# if we aren't then we just let it through
return "".join(result)
if next_char in _escaped_quotes:
# escaped quote
result.append(next_char)
else:
# different escape character, ignore it
view.undo()
result.append(current)
continue
if not is_quoted and current in _all_quotes:
# we aren't quoted
raise BadArgument("Unexpected quote mark in non-quoted string")
# closing quote
if is_quoted and current == close_quote:
next_char = view.get()
valid_eof = not next_char or next_char.isspace()
if not valid_eof:
raise BadArgument("Expected space after closing quotation")
# we're quoted so it's okay
return "".join(result)
if current.isspace() and not is_quoted:
# end of word found
return "".join(result)
result.append(current)
+81
View File
@@ -0,0 +1,81 @@
# -*- coding: utf-8 -*-
"""
The MIT License (MIT)
Copyright (c) 2015-2019 Rapptz
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
"""
import os.path
class File:
"""A parameter object used for :meth:`abc.Messageable.send`
for sending file objects.
Attributes
-----------
fp: Union[:class:`str`, BinaryIO]
A file-like object opened in binary mode and read mode
or a filename representing a file in the hard drive to
open.
.. note::
If the file-like object passed is opened via ``open`` then the
modes 'rb' should be used.
To pass binary data, consider usage of ``io.BytesIO``.
filename: Optional[:class:`str`]
The filename to display when uploading to Discord.
If this is not given then it defaults to ``fp.name`` or if ``fp`` is
a string then the ``filename`` will default to the string given.
spoiler: :class:`bool`
Whether the attachment is a spoiler.
"""
__slots__ = ("fp", "filename", "_true_fp")
def __init__(self, fp, filename=None, *, spoiler=False):
self.fp = fp
self._true_fp = None
if filename is None:
if isinstance(fp, str):
_, self.filename = os.path.split(fp)
else:
self.filename = getattr(fp, "name", None)
else:
self.filename = filename
if spoiler and not self.filename.startswith("SPOILER_"):
self.filename = "SPOILER_" + self.filename
def open_file(self):
fp = self.fp
if isinstance(fp, str):
self._true_fp = fp = open(fp, "rb")
return fp
def close(self):
if self._true_fp:
self._true_fp.close()
+735
View File
@@ -0,0 +1,735 @@
# -*- coding: utf-8 -*-
"""
The MIT License (MIT)
Copyright (c) 2015-2019 Rapptz
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
"""
import asyncio
from collections import namedtuple
import concurrent.futures
import json
import logging
import struct
import sys
import time
import threading
import zlib
import websockets
from . import utils
from .activity import _ActivityTag
from .enums import SpeakingState
from .errors import ConnectionClosed, InvalidArgument
log = logging.getLogger(__name__)
__all__ = [
"DiscordWebSocket",
"KeepAliveHandler",
"VoiceKeepAliveHandler",
"DiscordVoiceWebSocket",
"ResumeWebSocket",
]
class ResumeWebSocket(Exception):
"""Signals to initialise via RESUME opcode instead of IDENTIFY."""
def __init__(self, shard_id):
self.shard_id = shard_id
EventListener = namedtuple("EventListener", "predicate event result future")
class KeepAliveHandler(threading.Thread):
def __init__(self, *args, **kwargs):
ws = kwargs.pop("ws", None)
interval = kwargs.pop("interval", None)
shard_id = kwargs.pop("shard_id", None)
threading.Thread.__init__(self, *args, **kwargs)
self.ws = ws
self.interval = interval
self.daemon = True
self.shard_id = shard_id
self.msg = "Keeping websocket alive with sequence %s."
self.block_msg = "Heartbeat blocked for more than %s seconds."
self.behind_msg = "Can't keep up, websocket is %.1fs behind."
self._stop_ev = threading.Event()
self._last_ack = time.perf_counter()
self._last_send = time.perf_counter()
self.latency = float("inf")
self.heartbeat_timeout = ws._max_heartbeat_timeout
def run(self):
while not self._stop_ev.wait(self.interval):
if self._last_ack + self.heartbeat_timeout < time.perf_counter():
log.warning(
"Shard ID %s has stopped responding to the gateway. Closing and restarting.",
self.shard_id,
)
coro = self.ws.close(4000)
f = asyncio.run_coroutine_threadsafe(coro, loop=self.ws.loop)
try:
f.result()
except Exception:
pass
finally:
self.stop()
return
data = self.get_payload()
log.debug(self.msg, data["d"])
coro = self.ws.send_as_json(data)
f = asyncio.run_coroutine_threadsafe(coro, loop=self.ws.loop)
try:
# block until sending is complete
total = 0
while True:
try:
f.result(5)
break
except concurrent.futures.TimeoutError:
total += 5
log.warning(self.block_msg, total)
except Exception:
self.stop()
else:
self._last_send = time.perf_counter()
def get_payload(self):
return {"op": self.ws.HEARTBEAT, "d": self.ws.sequence}
def stop(self):
self._stop_ev.set()
def ack(self):
ack_time = time.perf_counter()
self._last_ack = ack_time
self.latency = ack_time - self._last_send
if self.latency > 10:
log.warning(self.behind_msg, self.latency)
class VoiceKeepAliveHandler(KeepAliveHandler):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.msg = "Keeping voice websocket alive with timestamp %s."
self.block_msg = "Voice heartbeat blocked for more than %s seconds"
self.behind_msg = "Can't keep up, voice websocket is %.1fs behind"
def get_payload(self):
return {"op": self.ws.HEARTBEAT, "d": int(time.time() * 1000)}
class DiscordWebSocket(websockets.client.WebSocketClientProtocol):
"""Implements a WebSocket for Discord's gateway v6.
This is created through :func:`create_main_websocket`. Library
users should never create this manually.
Attributes
-----------
DISPATCH
Receive only. Denotes an event to be sent to Discord, such as READY.
HEARTBEAT
When received tells Discord to keep the connection alive.
When sent asks if your connection is currently alive.
IDENTIFY
Send only. Starts a new session.
PRESENCE
Send only. Updates your presence.
VOICE_STATE
Send only. Starts a new connection to a voice guild.
VOICE_PING
Send only. Checks ping time to a voice guild, do not use.
RESUME
Send only. Resumes an existing connection.
RECONNECT
Receive only. Tells the client to reconnect to a new gateway.
REQUEST_MEMBERS
Send only. Asks for the full member list of a guild.
INVALIDATE_SESSION
Receive only. Tells the client to optionally invalidate the session
and IDENTIFY again.
HELLO
Receive only. Tells the client the heartbeat interval.
HEARTBEAT_ACK
Receive only. Confirms receiving of a heartbeat. Not having it implies
a connection issue.
GUILD_SYNC
Send only. Requests a guild sync.
gateway
The gateway we are currently connected to.
token
The authentication token for discord.
"""
DISPATCH = 0
HEARTBEAT = 1
IDENTIFY = 2
PRESENCE = 3
VOICE_STATE = 4
VOICE_PING = 5
RESUME = 6
RECONNECT = 7
REQUEST_MEMBERS = 8
INVALIDATE_SESSION = 9
HELLO = 10
HEARTBEAT_ACK = 11
GUILD_SYNC = 12
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.max_size = None
# an empty dispatcher to prevent crashes
self._dispatch = lambda *args: None
# generic event listeners
self._dispatch_listeners = []
# the keep alive
self._keep_alive = None
# ws related stuff
self.session_id = None
self.sequence = None
self._zlib = zlib.decompressobj()
self._buffer = bytearray()
@classmethod
async def from_client(
cls, client, *, shard_id=None, session=None, sequence=None, resume=False
):
"""Creates a main websocket for Discord from a :class:`Client`.
This is for internal use only.
"""
gateway = await client.http.get_gateway()
ws = await websockets.connect(gateway, loop=client.loop, klass=cls, compression=None)
# dynamically add attributes needed
ws.token = client.http.token
ws._connection = client._connection
ws._dispatch = client.dispatch
ws.gateway = gateway
ws.shard_id = shard_id
ws.shard_count = client._connection.shard_count
ws.session_id = session
ws.sequence = sequence
ws._max_heartbeat_timeout = client._connection.heartbeat_timeout
client._connection._update_references(ws)
log.info("Created websocket connected to %s", gateway)
# poll event for OP Hello
await ws.poll_event()
if not resume:
await ws.identify()
return ws
await ws.resume()
try:
await ws.ensure_open()
except websockets.exceptions.ConnectionClosed:
# ws got closed so let's just do a regular IDENTIFY connect.
log.info(
"RESUME failed (the websocket decided to close) for Shard ID %s. Retrying.",
shard_id,
)
return await cls.from_client(client, shard_id=shard_id)
else:
return ws
def wait_for(self, event, predicate, result=None):
"""Waits for a DISPATCH'd event that meets the predicate.
Parameters
-----------
event : str
The event name in all upper case to wait for.
predicate
A function that takes a data parameter to check for event
properties. The data parameter is the 'd' key in the JSON message.
result
A function that takes the same data parameter and executes to send
the result to the future. If None, returns the data.
Returns
--------
asyncio.Future
A future to wait for.
"""
future = self.loop.create_future()
entry = EventListener(event=event, predicate=predicate, result=result, future=future)
self._dispatch_listeners.append(entry)
return future
async def identify(self):
"""Sends the IDENTIFY packet."""
payload = {
"op": self.IDENTIFY,
"d": {
"token": self.token,
"properties": {
"$os": sys.platform,
"$browser": "discord.py",
"$device": "discord.py",
"$referrer": "",
"$referring_domain": "",
},
"compress": True,
"large_threshold": 250,
"v": 3,
},
}
if not self._connection.is_bot:
payload["d"]["synced_guilds"] = []
if self.shard_id is not None and self.shard_count is not None:
payload["d"]["shard"] = [self.shard_id, self.shard_count]
state = self._connection
if state._activity is not None or state._status is not None:
payload["d"]["presence"] = {
"status": state._status,
"game": state._activity,
"since": 0,
"afk": False,
}
await self.send_as_json(payload)
log.info("Shard ID %s has sent the IDENTIFY payload.", self.shard_id)
async def resume(self):
"""Sends the RESUME packet."""
payload = {
"op": self.RESUME,
"d": {"seq": self.sequence, "session_id": self.session_id, "token": self.token},
}
await self.send_as_json(payload)
log.info("Shard ID %s has sent the RESUME payload.", self.shard_id)
async def received_message(self, msg):
self._dispatch("socket_raw_receive", msg)
if type(msg) is bytes:
self._buffer.extend(msg)
if len(msg) >= 4:
if msg[-4:] == b"\x00\x00\xff\xff":
msg = self._zlib.decompress(self._buffer)
msg = msg.decode("utf-8")
self._buffer = bytearray()
else:
return
else:
return
msg = json.loads(msg)
log.debug("For Shard ID %s: WebSocket Event: %s", self.shard_id, msg)
self._dispatch("socket_response", msg)
op = msg.get("op")
data = msg.get("d")
seq = msg.get("s")
if seq is not None:
self.sequence = seq
if op != self.DISPATCH:
if op == self.RECONNECT:
# "reconnect" can only be handled by the Client
# so we terminate our connection and raise an
# internal exception signalling to reconnect.
log.info("Received RECONNECT opcode.")
await self.close()
raise ResumeWebSocket(self.shard_id)
if op == self.HEARTBEAT_ACK:
self._keep_alive.ack()
return
if op == self.HEARTBEAT:
beat = self._keep_alive.get_payload()
await self.send_as_json(beat)
return
if op == self.HELLO:
interval = data["heartbeat_interval"] / 1000.0
self._keep_alive = KeepAliveHandler(
ws=self, interval=interval, shard_id=self.shard_id
)
# send a heartbeat immediately
await self.send_as_json(self._keep_alive.get_payload())
self._keep_alive.start()
return
if op == self.INVALIDATE_SESSION:
if data is True:
await asyncio.sleep(5.0, loop=self.loop)
await self.close()
raise ResumeWebSocket(self.shard_id)
self.sequence = None
self.session_id = None
log.info("Shard ID %s session has been invalidated.", self.shard_id)
await self.identify()
return
log.warning("Unknown OP code %s.", op)
return
event = msg.get("t")
if event == "READY":
self._trace = trace = data.get("_trace", [])
self.sequence = msg["s"]
self.session_id = data["session_id"]
log.info(
"Shard ID %s has connected to Gateway: %s (Session ID: %s).",
self.shard_id,
", ".join(trace),
self.session_id,
)
elif event == "RESUMED":
self._trace = trace = data.get("_trace", [])
log.info(
"Shard ID %s has successfully RESUMED session %s under trace %s.",
self.shard_id,
self.session_id,
", ".join(trace),
)
parser = "parse_" + event.lower()
try:
func = getattr(self._connection, parser)
except AttributeError:
log.warning("Unknown event %s.", event)
else:
func(data)
# remove the dispatched listeners
removed = []
for index, entry in enumerate(self._dispatch_listeners):
if entry.event != event:
continue
future = entry.future
if future.cancelled():
removed.append(index)
continue
try:
valid = entry.predicate(data)
except Exception as exc:
future.set_exception(exc)
removed.append(index)
else:
if valid:
ret = data if entry.result is None else entry.result(data)
future.set_result(ret)
removed.append(index)
for index in reversed(removed):
del self._dispatch_listeners[index]
@property
def latency(self):
""":obj:`float`: Measures latency between a HEARTBEAT and a HEARTBEAT_ACK in seconds."""
heartbeat = self._keep_alive
return float("inf") if heartbeat is None else heartbeat.latency
def _can_handle_close(self, code):
return code not in (1000, 4004, 4010, 4011)
async def poll_event(self):
"""Polls for a DISPATCH event and handles the general gateway loop.
Raises
------
ConnectionClosed
The websocket connection was terminated for unhandled reasons.
"""
try:
msg = await self.recv()
await self.received_message(msg)
except websockets.exceptions.ConnectionClosed as exc:
if self._can_handle_close(exc.code):
log.info(
"Websocket closed with %s (%s), attempting a reconnect.", exc.code, exc.reason
)
raise ResumeWebSocket(self.shard_id) from exc
else:
log.info("Websocket closed with %s (%s), cannot reconnect.", exc.code, exc.reason)
raise ConnectionClosed(exc, shard_id=self.shard_id) from exc
async def send(self, data):
self._dispatch("socket_raw_send", data)
await super().send(data)
async def send_as_json(self, data):
try:
await self.send(utils.to_json(data))
except websockets.exceptions.ConnectionClosed as exc:
if not self._can_handle_close(exc.code):
raise ConnectionClosed(exc, shard_id=self.shard_id) from exc
async def change_presence(self, *, activity=None, status=None, afk=False, since=0.0):
if activity is not None:
if not isinstance(activity, _ActivityTag):
raise InvalidArgument("activity must be one of Game, Streaming, or Activity.")
activity = activity.to_dict()
if status == "idle":
since = int(time.time() * 1000)
payload = {
"op": self.PRESENCE,
"d": {"game": activity, "afk": afk, "since": since, "status": status},
}
sent = utils.to_json(payload)
log.debug('Sending "%s" to change status', sent)
await self.send(sent)
async def request_sync(self, guild_ids):
payload = {"op": self.GUILD_SYNC, "d": list(guild_ids)}
await self.send_as_json(payload)
async def voice_state(self, guild_id, channel_id, self_mute=False, self_deaf=False):
payload = {
"op": self.VOICE_STATE,
"d": {
"guild_id": guild_id,
"channel_id": channel_id,
"self_mute": self_mute,
"self_deaf": self_deaf,
},
}
log.debug("Updating our voice state to %s.", payload)
await self.send_as_json(payload)
async def close(self, code=1000, reason=""):
if self._keep_alive:
self._keep_alive.stop()
await super().close(code, reason)
async def close_connection(self, *args, **kwargs):
if self._keep_alive:
self._keep_alive.stop()
await super().close_connection(*args, **kwargs)
class DiscordVoiceWebSocket(websockets.client.WebSocketClientProtocol):
"""Implements the websocket protocol for handling voice connections.
Attributes
-----------
IDENTIFY
Send only. Starts a new voice session.
SELECT_PROTOCOL
Send only. Tells discord what encryption mode and how to connect for voice.
READY
Receive only. Tells the websocket that the initial connection has completed.
HEARTBEAT
Send only. Keeps your websocket connection alive.
SESSION_DESCRIPTION
Receive only. Gives you the secret key required for voice.
SPEAKING
Send only. Notifies the client if you are currently speaking.
HEARTBEAT_ACK
Receive only. Tells you your heartbeat has been acknowledged.
RESUME
Sent only. Tells the client to resume its session.
HELLO
Receive only. Tells you that your websocket connection was acknowledged.
INVALIDATE_SESSION
Sent only. Tells you that your RESUME request has failed and to re-IDENTIFY.
CLIENT_CONNECT
Indicates a user has connected to voice.
CLIENT_DISCONNECT
Receive only. Indicates a user has disconnected from voice.
"""
IDENTIFY = 0
SELECT_PROTOCOL = 1
READY = 2
HEARTBEAT = 3
SESSION_DESCRIPTION = 4
SPEAKING = 5
HEARTBEAT_ACK = 6
RESUME = 7
HELLO = 8
INVALIDATE_SESSION = 9
CLIENT_CONNECT = 12
CLIENT_DISCONNECT = 13
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.max_size = None
self._keep_alive = None
async def send_as_json(self, data):
log.debug("Sending voice websocket frame: %s.", data)
await self.send(utils.to_json(data))
async def resume(self):
state = self._connection
payload = {
"op": self.RESUME,
"d": {
"token": state.token,
"server_id": str(state.server_id),
"session_id": state.session_id,
},
}
await self.send_as_json(payload)
async def identify(self):
state = self._connection
payload = {
"op": self.IDENTIFY,
"d": {
"server_id": str(state.server_id),
"user_id": str(state.user.id),
"session_id": state.session_id,
"token": state.token,
},
}
await self.send_as_json(payload)
@classmethod
async def from_client(cls, client, *, resume=False):
"""Creates a voice websocket for the :class:`VoiceClient`."""
gateway = "wss://" + client.endpoint + "/?v=4"
ws = await websockets.connect(gateway, loop=client.loop, klass=cls, compression=None)
ws.gateway = gateway
ws._connection = client
ws._max_heartbeat_timeout = 60.0
if resume:
await ws.resume()
else:
await ws.identify()
return ws
async def select_protocol(self, ip, port, mode):
payload = {
"op": self.SELECT_PROTOCOL,
"d": {"protocol": "udp", "data": {"address": ip, "port": port, "mode": mode}},
}
await self.send_as_json(payload)
async def client_connect(self):
payload = {"op": self.CLIENT_CONNECT, "d": {"audio_ssrc": self._connection.ssrc}}
await self.send_as_json(payload)
async def speak(self, state=SpeakingState.voice):
payload = {"op": self.SPEAKING, "d": {"speaking": int(state), "delay": 0}}
await self.send_as_json(payload)
async def received_message(self, msg):
log.debug("Voice websocket frame received: %s", msg)
op = msg["op"]
data = msg.get("d")
if op == self.READY:
await self.initial_connection(data)
elif op == self.HEARTBEAT_ACK:
self._keep_alive.ack()
elif op == self.INVALIDATE_SESSION:
log.info("Voice RESUME failed.")
await self.identify()
elif op == self.SESSION_DESCRIPTION:
self._connection.mode = data["mode"]
await self.load_secret_key(data)
elif op == self.HELLO:
interval = data["heartbeat_interval"] / 1000.0
self._keep_alive = VoiceKeepAliveHandler(ws=self, interval=interval)
self._keep_alive.start()
async def initial_connection(self, data):
state = self._connection
state.ssrc = data["ssrc"]
state.voice_port = data["port"]
packet = bytearray(70)
struct.pack_into(">I", packet, 0, state.ssrc)
state.socket.sendto(packet, (state.endpoint_ip, state.voice_port))
recv = await self.loop.sock_recv(state.socket, 70)
log.debug("received packet in initial_connection: %s", recv)
# the ip is ascii starting at the 4th byte and ending at the first null
ip_start = 4
ip_end = recv.index(0, ip_start)
state.ip = recv[ip_start:ip_end].decode("ascii")
# the port is a little endian unsigned short in the last two bytes
# yes, this is different endianness from everything else
state.port = struct.unpack_from("<H", recv, len(recv) - 2)[0]
log.debug("detected ip: %s port: %s", state.ip, state.port)
# there *should* always be at least one supported mode (xsalsa20_poly1305)
modes = [mode for mode in data["modes"] if mode in self._connection.supported_modes]
log.debug("received supported encryption modes: %s", ", ".join(modes))
mode = modes[0]
await self.select_protocol(state.ip, state.port, mode)
log.info("selected the voice protocol for use (%s)", mode)
await self.client_connect()
async def load_secret_key(self, data):
log.info("received secret key for voice connection")
self._connection.secret_key = data.get("secret_key")
await self.speak()
await self.speak(False)
async def poll_event(self):
try:
msg = await asyncio.wait_for(self.recv(), timeout=30.0, loop=self.loop)
await self.received_message(json.loads(msg))
except websockets.exceptions.ConnectionClosed as exc:
raise ConnectionClosed(exc, shard_id=None) from exc
async def close_connection(self, *args, **kwargs):
if self._keep_alive:
self._keep_alive.stop()
await super().close_connection(*args, **kwargs)
+1452
View File
File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More