* 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`.
* 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
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.
* 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
* [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
* Command response improvements for streams
Fix#1182Fix#1183
Various other command response improvements
* Rename main to streams, streams to streamtypes
* Raise errors for communities
* [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
* 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
* 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
* [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
* 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
* 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