55 Commits

Author SHA1 Message Date
Will
d414806fa2 Close aiohttp ClientSession (#1340) 2018-02-23 02:08:49 +01: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
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
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
Kowlin
11636b16d2 [V3 General] Updated userinfo (#1289)
Updated userinfo to include new statuses
2018-02-09 13:18:06 -09: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
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
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
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
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
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
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
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
02d7193a92
[V3 Downloader] Fix non relative data path (#1150) 2017-12-08 20:09:23 -05: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
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
Tobotimus
2c96844209 Make audit_type optional in casetypes (#1119) 2017-11-22 21:17:42 -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
e983e1cefb Fix shutdown issue with streams (#1107) 2017-11-19 14:32:00 -09:00
Tobotimus
1b6065bb46 [V3 Economy] Update from config changes (#1084) 2017-11-19 18:01:09 -05: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
Twentysix
b141729830
[V3 Mod] Fix DMs not being handled on_command (#1086) 2017-11-17 20:43:49 +01: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
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
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
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
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
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
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
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
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
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