Skip to content

psykzz/cogs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

377 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cogs ⚡

A collection of cogs (plugins) for Red-DiscordBot.

Installation

You need to ensure you have the downloader enabled first.

[p]load downloader

Then add this repository:

[p]repo add psykzz-cogs https://github.com/psykzz/cogs

Install a cog:

[p]cog install psykzz-cogs <cog_name>

Load the cog:

[p]load <cog_name>

Note: Replace [p] with your bot's prefix (e.g., . or !).


Available Cogs

Activity Stats

Track Discord activity and game statistics for all members.

Installation:

[p]cog install psykzz-cogs activity_stats
[p]load activity_stats

Commands:

Command Description
[p]activity topgames [limit] Show the most played games on this server
[p]activity mygames [user] Show game statistics for yourself or another user
[p]activity gameinfo <game_name> Show detailed statistics for a specific game
[p]activity info Show statistics about the tracking system (Admin)
[p]activity clear Clear all activity statistics (Admin)
[p]activity set enabled Enable activity tracking (Admin)
[p]activity set disabled Disable activity tracking (Admin)

Albion Auth

Authenticate and verify users with Albion Online player names.

Requirements: httpx>=0.14.1

Installation:

[p]cog install psykzz-cogs albion_auth
[p]load albion_auth

Commands:

Command Description
[p]auth <player_name> [target_user] Authenticate with your Albion Online character name. Admins can specify a target user.
[p]authset authrole [@role] Set the role to assign when someone authenticates (Admin)
[p]authset dailycheck <true/false> Enable or disable daily name verification checks (Admin)
[p]authset checkuser @user Manually check a specific user's name against Albion API (Admin)

Albion Ava

Track Roads of Avalon connections via Portaler API with background updates and connection graphs.

Requirements: httpx>=0.14.1, Pillow>=10.2.0

Installation:

[p]cog install psykzz-cogs albion_ava
[p]load albion_ava

Commands:

Command Description
[p]setava token <token> <guild_id> Set Portaler API bearer token (Admin, DM only for security)
[p]setava home <zone> Set home zone to focus connections from (Admin, Server only)
[p]ava Display connections from home zone (text format)
[p]ava image Display connections as a visual graph image

Setup:

  1. Visit Portaler.app and log in with your Discord account
  2. Obtain your API bearer token (check Portaler documentation or browser dev tools)
  3. Get your Discord server ID (enable Developer Mode, right-click server icon, "Copy Server ID")
  4. Configure the cog with [p]setava token <token> <guild_id> in a DM to the bot
  5. Set your home zone with [p]setava home <zone> (e.g., Lymhurst) in your server
  6. Use [p]ava or [p]ava image to display current connections

Features:

  • Automatic background updates every 5 minutes
  • Text and visual graph display options
  • Shows zone tier, type, and portal type
  • Displays time remaining for each connection
  • Integrates with Portaler's public and private maps
  • Color-coded zones in graph view

For more information about Roads of Avalon, see the official Albion Online guide.


Albion Bandits

Track Albion Online bandit event role mentions and timing predictions.

Installation:

[p]cog install psykzz-cogs albion_bandits
[p]load albion_bandits

Commands:

Command Description
[p]bandits next Show the last bandit time and predict the next occurrence
[p]bandits list List all previous bandit calls
[p]bandits status Show current bandit tracking configuration
[p]bandits setrole @role Set the role to monitor for bandit pings (Admin)
[p]bandits reset Reset all bandit call data (Admin)

Usage: Mention the configured role with an optional time in minutes (e.g., @bandits 15 for bandits in 15 minutes).


Albion Regear

Calculate regear costs for Albion Online deaths.

Requirements: httpx>=0.14.1

Installation:

[p]cog install psykzz-cogs albion_regear
[p]load albion_regear

Commands:

Command Description
[p]regear <player_name> Calculate regear cost for a player's latest death

Assign Roles

Authorize one role to give another role to users.

Installation:

[p]cog install psykzz-cogs assign_roles
[p]load assign_roles

Commands:

Command Description
[p]assign @role [@user] Assign or remove a role from a user (or yourself)
[p]assign authorise @authorised_role @giveable_role Authorize a role to give another role (Admin)
[p]assign deauthorise @authorised_role @giveable_role Deauthorize a role from giving another role (Admin)
[p]assign list Show which roles can be given by other roles (Mod)

Empty Voices

Dynamic voice channel management - automatically creates and cleans up temporary voice channels.

Installation:

[p]cog install psykzz-cogs empty_voices
[p]load empty_voices

Commands:

Command Description
[p]emptyvoices watch @category Set a category to watch for dynamic voice channels
[p]emptyvoices stopwatch @category Stop watching a category
[p]emptyvoices watching See what categories are being watched
[p]emptyvoices list List current temporary channels
[p]emptyvoices cleanup Manually clean up orphaned temporary channels

Game Embed

Monitor Steam game servers and display status embeds with quick-join buttons.

Requirements: python-a2s>=1.3.0

Installation:

[p]cog install psykzz-cogs game_embed
[p]load game_embed

Commands:

Command Description
[p]gameserver add <ip> <port> [password] Add a Steam game server to monitor (Admin)
[p]gameserver remove <ip> <port> Remove a server from monitoring (Admin)
[p]gameserver list List all monitored servers
[p]gameserver post <ip> <port> Post a status embed for a monitored server (Admin)
[p]gameserver status <ip> <port> Get the current status of a specific server
[p]gameserver refresh Manually refresh all server data (Admin)

Hat

Add festive Christmas hats to your avatar! Users can select from multiple hats, adjust scale, rotation, and position. All commands show a live preview automatically and settings are saved implicitly.

Requirements: Pillow>=10.2.0

Installation:

[p]cog install psykzz-cogs hat
[p]load hat

User Commands:

Command Description
[p]hat list List all available hats
[p]hat select <name> Select a hat and see a live preview
[p]hat scale <value> Adjust hat size (0.1 to 2.0) with live preview
[p]hat rotate <degrees> Adjust hat rotation (-180 to 180) with live preview
[p]hat position <x> <y> Adjust hat position (0.0 to 1.0) with live preview
[p]hat reset Reset settings to defaults with live preview
[p]hat show Refresh the preview (e.g., after changing your avatar)

Admin Commands:

Command Description
[p]sethat upload <name> Upload a new hat image (attach PNG)
[p]sethat remove <name> Remove a hat
[p]sethat list List all hats with admin details
[p]sethat default <name> Set the default hat

Features:

  • Live previews after every command
  • Auto-cleanup of command messages after 3 seconds
  • Previous previews are replaced when new ones are shown
  • Settings are saved automatically
  • Works in both guilds and DMs

Ideas

Suggest ideas by creating GitHub issues in the repository.

Requirements: httpx>=0.14.1

Installation:

[p]cog install psykzz-cogs ideas
[p]load ideas

Commands:

Command Description
[p]suggest "title" <description> Create a new GitHub issue with your idea (Bot Owner)

Setup: Set your GitHub API token with [p]set api github token <your_token> before using this cog.


Misc

Miscellaneous utility commands for your server.

Installation:

[p]cog install psykzz-cogs misc
[p]load misc

Commands:

Command Description
[p]laws State a random law (Asimov's Laws of Robotics)

Movie Vote

Manage a channel for collecting votes for what movies to watch next.

Requirements: cinemagoer==2022.12.27

Installation:

[p]cog install psykzz-cogs movie_vote
[p]load movie_vote

Commands:

Command Description
[p]movie Show current MovieVote settings
[p]movie on Turn on MovieVote in the current channel (Admin)
[p]movie off Turn off MovieVote in the current channel (Admin)
[p]movie upemoji <emoji> Set the upvote emoji (Admin)
[p]movie downemoji <emoji> Set the downvote emoji (Admin)
[p]movie watch <imdb_link> Mark a movie as watched (Admin)
[p]movie rewatch <imdb_link> Mark a movie as unwatched (Admin)
[p]movie next Get the next movie to watch
[p]movie leaderboard [watched_only] Get the movie leaderboard
[p]movie pinboard Create a pinned leaderboard that auto-updates (Admin)
[p]movie check <imdb_link> Check if vidsrc has the next episode (Admin)
[p]movie updatedb Update all movies with fresh IMDB data (Admin)

Usage: Post IMDB links in enabled channels to add movies to the voting list.


NW Server Status (New World)

Monitor New World server status and display queue information.

Requirements: httpx>=0.14.1

Installation:

[p]cog install psykzz-cogs nw_server_status
[p]load nw_server_status

Commands:

Command Description
[p]queue [server] Get current queue information for a server
[p]queueset [server] Set the default server for this Discord server (Admin)
[p]monitor <voice_channel> Set a voice channel to display server status (Admin)
[p]forcemonitor Force an update of the monitor channel (Admin)

NW Timers (New World War Timers)

Manage war timers for New World.

Installation:

[p]cog install psykzz-cogs nw_timers
[p]load nw_timers

Commands:

Command Description
[p]war next [zone] Get the next upcoming war (optionally for a specific zone)
[p]war add <zone> <relative_time> Add a war timer for a zone (Mod)
[p]war remove <zone> Remove a war timer for a zone (Mod)

Example: [p]war add Everfall 24h3m - Adds a war timer for Everfall in 24 hours and 3 minutes.


Party

Create and manage party signups with role-based compositions using interactive Discord buttons and select menus.

Installation:

[p]cog install psykzz-cogs party
[p]load party

Commands:

Command Description
[p]party create <name> [roles...] Create a new party with optional predefined roles
[p]party list List all active parties in the server
[p]party delete <party_id> Delete a party (author or admin only)
[p]party description <party_id> <description> Set party description (author or admin only)
[p]party config <setting> <value> Configure server-wide party settings (admin only)

Features:

  • Interactive signups via Discord buttons
  • Select menu (dropdown) for predefined roles
  • Modal text input for freeform roles
  • Users can update their role or leave parties
  • Configurable multiple signups per role
  • Persistent views survive bot restarts

Example: [p]party create "Raid Night" Tank Healer DPS - Creates a party with three predefined roles. Users click the "Sign Up" button and select their role from a dropdown menu.


QuotesDB

Store and retrieve user-generated quotes with triggers.

Installation:

[p]cog install psykzz-cogs quotesdb
[p]load quotesdb

Commands:

Command Description
[p]. <trigger> <quote> Add a new quote with a trigger
[p].. <trigger> Show a random quote for the given trigger
[p]qdel <quote_id> Delete a quote (creator or admin only)
[p]qid <quote_id> Show details about a specific quote

React Roles

Assign roles to users based on their reactions to messages.

Installation:

[p]cog install psykzz-cogs react_roles
[p]load react_roles

Commands:

Command Description
[p]add_react #channel <message_id> <emoji> @role Setup a reaction role for a specific message (Manage Roles)
[p]remove_react #channel <message_id> <emoji> Remove a reaction role from a message (Manage Roles)

Secret Santa

Manage Secret Santa events with participant matching, anonymous messaging, and gift tracking.

Installation:

[p]cog install psykzz-cogs secret_santa
[p]load secret_santa

Commands:

Command Description
[p]santa create <event_name> <date> <max_price> @participants... Create a new Secret Santa event (Admin)
[p]santa import <event_name> <date> <max_price> <pairings...> Import an existing event with forced pairings (Admin)
[p]santa match <event_name> Match all participants randomly (Admin)
[p]santa rematch <event_name> Redo matching for an event (Admin)
[p]santa status <event_name> Check the status of an event (Admin)
[p]santa list List all Secret Santa events (Admin)
[p]santa delete <event_name> Delete an event (Admin)
[p]santa remind <event_name> Send reminder DMs to all participants (Admin)
[p]santa add <event_name> @users... Add participants to an event (Admin)
[p]santa remove <event_name> @users... Remove participants from an event (Admin)
[p]santa message <event_name> <message> Send anonymous message to your giftee
[p]santa reply <event_name> <message> Send anonymous reply to your Secret Santa
[p]santa sent <event_name> Mark that you have sent your gift
[p]santa received <event_name> Mark that you have received your gift
[p]santa whoami <event_name> Check who you are matched to (sent via DM)

DM Commands (for anonymity):

Command Description
[p]santadm message <event_id> <message> Send anonymous message to your giftee via DM
[p]santadm reply <event_id> <message> Reply to your Secret Santa via DM
[p]santadm wishlist <event_id> <wishlist> Set your wishlist via DM
[p]santadm info <event_id> Get your event info via DM
[p]santadm sent <event_id> Mark gift as sent via DM
[p]santadm received <event_id> Mark gift as received via DM

TGMC

Interface for the TGMC (TerraGov Marine Corps) game API.

Installation:

[p]cog install psykzz-cogs tgmc
[p]load tgmc

Commands:

Command Description
[p]winrates all [delta] Get the current overall winrates
[p]winrates distress [delta] Get winrates on Distress Signal
[p]winrates crash [delta] Get winrates on Crash
[p]winrates bughunt [delta] Get winrates on Bug Hunt
[p]winrates huntparty [delta] Get winrates on Hunt Party
[p]winrates nuclearwar [delta] Get winrates on Nuclear War
[p]winrates campaign [delta] Get winrates on Campaign
[p]winrates combatpatrol [delta] Get winrates on Combat Patrol
[p]winrates sensorcapture [delta] Get winrates on Sensor Capture

delta is the number of days to look back (default: 14).


User

Manage bot user settings (nickname and avatar).

Installation:

[p]cog install psykzz-cogs user
[p]load user

Commands:

Command Description
[p]user nick [nickname] Change the bot's nickname in this guild (reset if no nickname provided)
[p]user avatar Change the bot's avatar using an attached image

Development

Testing

This repository includes automated testing to ensure all cogs are compatible with Red-DiscordBot:

Requirements:

  • Python 3.11 (Red-DiscordBot does not support Python 3.12+)

Setup:

# Install Red-DiscordBot and dependencies
pip install Red-DiscordBot
pip install cinemagoer==2022.12.27 httpx discord.py python-a2s>=1.3.0 Pillow>=10.2.0

# Run the test suite
python test_redbot_setup.py

What the tests validate:

  • Red-DiscordBot core modules can be imported
  • All cog Python files have valid syntax
  • All cogs can be imported successfully
  • All cogs have the required setup function

CI/CD:

The repository uses GitHub Actions to automatically:

  • Lint all code with flake8
  • Install Red-DiscordBot on Python 3.11
  • Test that all cogs can be imported
  • Validate Python syntax for all files

Support

For issues or feature requests, please visit the GitHub repository.

About

Cogs for redbot

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages