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
Automatic login to Microsoft Teams conferences

Automatic login to Microsoft Teams conferences

Xhos 1 Jan 24, 2022
PYAW allows you to call assembly from python

PYAW allows you to call assembly from python

2 Dec 13, 2021
Shellkg-py - A temporary Repository to rewrite of shellpkg in python

Shellkg-py - A temporary Repository to rewrite of shellpkg in python

2 Jan 26, 2022
inventory replenishment for a hospital.

Inventory-Replenishment Inventory-Replenishment for a hospital that would like to explore how advanced anlytics may help automate their decision proce

1 Jan 09, 2022
A python client for the Software-Challenge Germany.

sc-client-python A python client for the Software-Challenge Germany. Creating a new project (Optional) Install virtualenv virtualenv is a tool that cr

rpkak 3 Jan 22, 2022
Huan Xu 1.6k Jan 04, 2023
Monitoring plugin for MikroTik devices

check_routeros - Monitoring MikroTik devices This is a monitoring plugin for Icinga, Nagios and other compatible monitoring solutions to check MikroTi

DinoTools 6 Dec 24, 2022
An API wrapper for Discord written in Python.

discord.py A modern, easy to use, feature-rich, and async ready API wrapper for Discord written in Python. Key Features Modern Pythonic API using asyn

Danny 12k Jan 08, 2023
Open Source Discord Account Creator

Alter Token Generator Open Source Discord Account Creator This program abuses the discord api and uses the 2Captcha captcha solving service to make di

24 Dec 13, 2022
MassReportBot - Discord Mass Report Bot By Dropout

Discord Mass Report Bot By Dropout Discord Report Bot, Just Re-Made The "Admin R

vanis / 1800 0 Jan 20, 2022
Generate Heroku-like random names to use in your python applications

HaikunatorPY Generate Heroku-like random names to use in your python applications. Installation pip install haikunator Usage Haikunator is pretty sim

Atrox 116 Nov 15, 2022
SSH-Restricted deploys an SSH compliance rule (AWS Config) with auto-remediation via AWS Lambda if SSH access is public.

SSH-Restricted SSH-Restricted deploys an SSH compliance rule with auto-remediation via AWS Lambda if SSH access is public. SSH-Auto-Restricted checks

Adrian Hornsby 30 Nov 08, 2022
My attempt to reverse the Discord nitro token generation function.

discord-theory-I PART: I My attempt to reverse the Discord nitro token generation function. The Nitro generation tools thing is common in Discord now,

Jakom 29 Aug 14, 2022
An advanced crypto trading bot written in Python

Jesse Jesse is an advanced crypto trading framework which aims to simplify researching and defining trading strategies. Why Jesse? In short, Jesse is

Jesse 4.4k Jan 09, 2023
:cloud: Python API for ThePirateBay.

Unofficial Python API for ThePirateBay. Build Status Test Coverage Version Downloads (30 days) Installation $ pip install ThePirateBay Note that ThePi

Karan Goel 334 Oct 21, 2022
Discord Crypto Payment Cards Selfbot

A Discord selfbot that serves the purpose of displaying text and QR versions of your BTC, LTC & ETH payment information for easy and simple commercial or personal transactions.

2 Apr 12, 2022
The source code of the bot that displays erotic images on Discord

説明 このコードはDiscord.pyとNeko APIを使ったNsfw画像表示ボットのソースコードです。 成人向けコンテンツを含むボットなので、不快になる方はこのボットの作成中止をおすすめします。 使い方 まず、install.batを起動してください。 そのあとに、config.json を開き

はなくそ 1 Dec 28, 2021
Tomli is a Python library for parsing TOML

Tomli A lil' TOML parser Table of Contents generated with mdformat-toc Intro Installation Usage Parse a TOML string Parse a TOML file Handle invalid T

Taneli Hukkinen 315 Jan 04, 2023
Project for QVault Hackathon which plays sounds based on the letters of a user's name

virtual_instrument Project for QVault Hackathon which plays sounds based on the letters of a user's name I created a virtual instrument using Python a

Paolo Sidera 2 Feb 11, 2022
Web app for spotify playlist management with last.fm integration

Music Tools Set of utility tools for Spotify and Last.fm. Built on my other libraries for Spotify (spotframework), Last.fm (fmframework) and interfaci

andy 3 Dec 14, 2022