An all-purpose Discord bot written in Python featuring a diverse collection of practical utilities.

Overview

GlazeGlopBot

Table of Contents

About

GlazeGlopBot is an all-purpose Discord bot written in Python featuring a diverse collection of practical utilities. Commands are organized into independent discord.py cogs. Currently, guild moderation, local music playing, (pseudo)random number generation, QR code generation, and forecast utilities have been implemented.

On Discord: @GlazeGlopBot#7510

Setup

GlazeGlopBot remains in development and currently serves only a private Discord server for "the boys." Still, you can run your own instance if you'd like!

You can set up your own version of GlazeGlopBot with your own API tokens.

  1. Clone the repository.

git clone https://github.com/GlazeGlopMike/glazeglopbot

  1. Switch to the cloned directory.

cd glazeglopbot

  1. Install dependencies.

pip3 install -r requirements.txt

  1. Get your tokens as appropriate.

The weather cog also requires:

  1. Record your own Discord ID. You can get this by right-clicking on your name in any Discord conversation and clicking Copy ID.

  2. If you want to use the vc cog, get FFmpeg.

  3. Add the relevant values from steps 4 to 6 into .env. If the file doesn't exist, create one with these contents:

DISCORD_TOKEN=[Discord token]
BING_MAPS_TOKEN=[Bing Maps token]
OWM_TOKEN=[OpenWeatherMap token]
FFMPEG_PATH=[FFmpeg path]
DEV_IDS=[Discord IDs, comma-separated]
  1. Add the bot to your guild using the link assigned to it by Discord.

Usage

Commands

GlazeGlopBot responds to commands prefixed by $. Users can be passed as arguments by tagging them. View the full list of commands using $help.

GlazeGlopBot also responds to direct messages. Most commands designed for guilds will not work in DMs and others may have reduced functionality.

Command Errors

If execution of your command was unsuccessful, GlazeGlopBot will react to your message. Errors are classified using emojis:

  • 😕 Common errors such as comprehension failure.
  • ⚠️ Some but not all tasks successful.
  • 👎 You don't have permission to use the command.
  • 🤖 Server-related issue.

Cog Management

All cogs ([cog].py files) in the cogs directory are loaded on startup.

  • $ld [cog] to load a cog
  • $rld [cog] to reload a cog
  • $rldall to reload all cogs
  • $uld [cog] to unload a cog

You can add your own custom-written cogs to the cogs folder and load them, as long as there are no cog or command naming conflicts.

Cogs stored in subfolders will also be loaded on startup and reloaded with $rldall. These can be individually referenced using [subfolder].[cog].

e.g. $ld example to load from cogs/example.py

e.g. $ld subfolder.example to load from cogs/subfolder/example.py.

Local Sound Files

OGG files ([name].ogg) in the sounds folder can be played in voice channels using $sound [name]. You can add your own too. Audio files in subfolders can be referenced using [subfolder]/[name].

e.g. $sound example to play sounds/example.ogg

e.g. $sound subfolder/example to play sounds/subfolder/example.ogg.

A number of my personal compositions are provided as sample sounds. Hope you enjoy them!

Cogs

Mod

Some common guild (server) moderation commands. The command author's permissions are verified before execution.

  • Muting/deafening users
  • Nicknaming users
  • Moving users across voice channels
  • Disconnecting users from voice channels
  • Kicking/banning users
  • Pinning messages
  • Writing user summaries

QR

Generates and sends a QR code image using the pyqrcode module.

RNG

Currently features a coin tosser, dice roller and random integer generator.

VC

Plays sounds from local OGG files or from YouTube. The cog has basic player functions like pausing, resuming, and stopping.

Weather

GlazeGlopBot grabs weather data through API calls to OpenWeatherMap. To make location input user-friendly, GlazeGlopBot uses the Bing Maps API to resolve natural language inputs into geographic coordinates. The weather cog then makes a OneCall request to OWM, which returns information such as temperature, precipitation, air/wind conditions, and sunrise/sunset times. This data is presented using an embed.

The weather cog can grab:

  • Current weather
  • Tomorrow's forecast
  • 12-hour hourly forecast
  • 7-day daily forecast

Proposed Features

  • Sound queue system
  • Stock summaries
  • Standard Glopesian English translation

License

Available under the MIT License. See LICENSE for more details.

Owner
Edison Ye
Edison Ye
Webb-Tracker-Bot - This is a discord bot that displays current progress of the James Webb Space Telescope.

Webb-Tracker-Bot - This is a discord bot that displays current progress of the James Webb Space Telescope.

Copperbotte 1 Jan 05, 2022
BroBot's files, code and tester.

README - BroBOT Made by Rohan Chaturvedi [email protected] DISCLAIMER: Th

1 Jan 09, 2022
A (probably) working Kik name checker

KikNameChecker !THIS ONLY CHECKS WS2.KIK.COM ENDPOINT! \ Will add user inputted endpoints thing \ A (probably) working Kik name checker Started as a s

insert edgy and cool name 1 Dec 17, 2022
ClassesMD5-64 - Get whatsapp md5 code using python

Hello Installation Clone Repo & install bash $ git clone https://github.com/Pito

PitoDev 1 Jan 03, 2022
A smart tool to backup members 📈 So you even after a raid/ ban you can easily restore them in seconds 🎲

🤑 Discord-backer 🤑 A open-source Discord member backup and restore tool for your server. This can help you get all your members in 5 Seconds back af

John 29 Dec 21, 2022
Creates Spotify playlists from Spinitron playlists.

spin2spot Creates Spotify playlists from Spinitron playlists. Quick Start You can use spin2spot as a command-line tool: Erik Didriksen 1 Aug 28, 2021

A Fork of Gitlab's Permifrost tool for managing Snowflake Permissions

permifrost-fork This is a fork of the GitLab permifrost project. As the GitLab team is not currently maintaining the project, we've taken on maintenac

Hightouch 7 Oct 13, 2021
ShadowClone allows you to distribute your long running tasks dynamically across thousands of serverless functions and gives you the results within seconds where it would have taken hours to complete

ShadowClone allows you to distribute your long running tasks dynamically across thousands of serverless functions and gives you the results within seconds where it would have taken hours to complete

240 Jan 06, 2023
A Discord bot coded in Python

Perseverance-Bot By Toricane Replit Code | GitHub Code | Discord Server | Website Perseverance is a multi-purpose bot coded in Python. It has moderati

4 Mar 30, 2022
A python library for building user interfaces in discord.

blurple.py A front-end framework for discord.py Blurple.py is a framework built on top of discord.py, giving you the tools you need to build discord b

4 Oct 25, 2021
Kevin L. 3 Jul 14, 2022
A discord bot for checking what linked profiles a user has to their Ubisoft account

ubisoft_discord_profiles A Discord bot for checking what linked profiles a user has to their Ubisoft account. This can be setup using an enviromental

Andrei 1 Dec 17, 2021
A python package to easy the integration with Direct Online Pay (Mpesa, TigoPesa, AirtelMoney, Card Payments)

A python package to easy the integration with Direct Online Pay (DPO) which easily allow you easily integrate with payment options once without having to deal with each of them individually;

Jordan Kalebu 2 Nov 25, 2021
Autodrive is designed to make it as easy as possible to interact with the Google Drive and Sheets APIs via Python

Autodrive Autodrive is designed to make it as easy as possible to interact with the Google Drive and Sheets APIs via Python. It is especially designed

Chris Larabee 1 Oct 02, 2021
A bot to get Statistics like the Playercount from your Minecraft-Server on your Discord-Server

Hey Thanks for reading me. Warning: My English is not the best I have programmed this bot to show me statistics about the player numbers and ping of m

spaffel 12 Sep 24, 2022
This automation protect against subdomain takeover on AWS env which also send alerts on slack.

AWS_Subdomain_Takeover_Detector Purpose The purpose of this automation is to detect misconfigured Route53 entries which are vulnerable to subdomain ta

Puneet Kumar Maurya 8 May 18, 2022
A Python library for rendering ASS subtitle file format using libass.

ass_renderer A Python library for rendering ASS subtitle file format using libass. Installation pip install --user ass-renderer Contributing # Clone

1 Nov 02, 2022
Github-Checker - Simple Tool To Check If Github User Available Or Not

Github Checker Simple Tool To Check If Github User Available Or Not Socials: Lan

ميخائيل 7 Jan 30, 2022
An open source development framework to help you build data workflows and modern data architecture on AWS.

AWS DataOps Development Kit (DDK) The AWS DataOps Development Kit is an open source development framework for customers that build data workflows and

Amazon Web Services - Labs 111 Dec 23, 2022
Infinity: a Twitter retweet bot that can be used by anyone

INSTAMATE Requires Firefox Instapy Python3 How To Use? Fork the repository Add your credentials in the bot.py file Save commits Clone your fork cd int

unofficialdxnny 3 Jun 23, 2022