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
BeeDrive: Open Source Privacy File Transfering System for Teams and Individual Developers

BeeDrive For privacy and convenience purposes, more and more people try to keep data on their own hardwires instead of third-party cloud services such

Xuansheng Wu 8 Oct 31, 2022
Repositorio que contiene el material mostrado en la primera PyCON de Chile

Buenas prácticas de desarrollo en Python Repositorio que contiene el material mostrado en la primera PyCON de Chile, realizada del 5 al 7 de Noviembre

Erick Castillo 5 Feb 01, 2022
Reverse engineering the dengue virus (under development construction)

Reverse engineering the dengue virus (under development 🚧 ) What is dengue? Dengue is a viral infection transmitted to humans through the bite of inf

kjain 4 Feb 09, 2022
go-cqhttp API typing annoations, return data models and utils for nonebot

go-cqhttp API typing annoations, return data models and utils for nonebot

风屿 6 Jan 04, 2023
A discord bot to assist you when playing phasmophobia.

phasbot A discord bot to assist you when playing phasmophobia. Add phasbot to your server here! Bot Commands ?help - shows commands ?info [ghost name]

1 Dec 22, 2021
Discord-disnake - This package allows to use disnake without changing the discord namespace

This package is a shim This module allows to use disnake using discord namespace. This is not an independent library. Installing Python 3.8 or higher

5 Dec 13, 2022
Find songs by lyrics.

LyricSearch Hi, welcome to LyricSearch - a simple (Yes), fast (Maybe), and powerful (Approach) lyric search engine. We support Three search methods to

Dicer_ 1 Dec 13, 2021
An interactive and multi-function Telegram bot, made especially for Telegram groups.

PyKorone An interaction and fun bot for Telegram groups, having some useful and other useless commands. Created as an experiment and learning bot but

Amano Team 17 Nov 12, 2022
Eva Maria Bot With Python

Eva Maria Bot Features Auto Filter Manual Filter IMDB Admin Commands Broadcast Index IMDB search Inline Search Random pics ids and User info Stats, Us

Aadhi 3 Jan 06, 2022
A Twitch bot to provide information from the WebNowPlayingCompanion extension

WebNowPlayingTwitch A Twitch bot made using TwitchIO which displays information obtained from the WebNowPlaying Compaion browser extension. Image is o

NiceAesth 1 Mar 21, 2022
An Python SDK for QQ based on mirai-api-http v2.

Argon 一个基于 graia-broadcast 和 mirai-api-http v2 的 Python SDK。 本项目适用于 mirai-api-http 2.0 以上版本。 目前仍处于开发阶段,内部接口可能会有较大的变化。 The Stasis / 停滞 为维持 GraiaProject

BlueGlassBlock 1 Oct 29, 2021
This Server Cloner can clone the server you want with all the perms of roles in every particular channel.

Server-Cloner-with-perms 🚀 This Server Cloner can clone the server you want with all the perms of roles in every particular channel. Features Clone C

Gripz 0 Feb 17, 2022
Policy and data administration, distribution, and real-time updates on top of Open Policy Agent

⚡ OPAL ⚡ Open Policy Administration Layer OPAL is an administration layer for Open Policy Agent (OPA), detecting changes to both policy and policy dat

8 Dec 07, 2022
ABACUS Aroio API for Webinterfaces and App-Connections

ABACUS Aroio API for Webinterfaces and App-Connections Setup Start virtual python environment if you don't have python3 running setup: $ python3 -m ve

Abacus Aroio Developer Team 1 Apr 01, 2021
Talon accessibility - Experimental Talon integrations using macOS accessibility APIs

talon_accessibility Experimental Talon integrations using macOS accessibility AP

Phil Cohen 11 Dec 23, 2022
Python Business Transactions Library - ContractsPY

Python Business Transactions Library - ContractsPY Declare and define business transactions in Python. Use the contracts library to validate business

Arzu Huseynov 7 Jun 21, 2022
Script to get a notification when a product, on Amazon Warehouse, is available within a target price

Amazon_Warehouse_Scraping This script aims to scrape Amazon Warehouse and send an email back if there are products whose price matches with the target

2 Oct 25, 2021
A method to check whether a Discord user is using the client or not.

Discord Captcha Method This is an example, of a verification trough a check, if the user loads the picture send with the verification-message. This ma

Julien 2 Jan 19, 2022
Aria/qBittorrent Telegram mirror/leech bot.

Missneha Mirror Leech Bot Aria/qBittorrent Telegram mirror/leech bot. missneha Mirror Leech Bot is a multipurpose Telegram Bot written in Python for m

ACHAL 6 Sep 30, 2022
Python API Client for Close

Close API A convenient Python wrapper for the Close API. API docs: http://developer.close.com Support: Close 56 Nov 30, 2022