Skip to main content

A modular bot for teaching new developers

Project description

HangoutCore Bot Framework

HangoutCore Version: HangoutCore | using Discord.py | License License: GPL v3

Join the discord below for quicker support.
Assign yourself the Bot Developer Role in the #pick-your-roles channel in order to access the #bot-support channel.

Discord

TODO

  • use slash commands
  • Add support for various database types in util.database.
  • Add support for specifying which config to load from like our current implementation for tokens.
  • Further Optimize base script while prioritizing eazy readability for new developers.
  • Create Example Cog for new developers to be able to build off of.
  • Create webhook example.
  • Add Guild registration function in util.database. to begin supporting database saved data.
  • Add Ticket Cog for new devs to be able to build off of.
  • Create static page to display more detailed information on HangoutCore Project Status
  • Add per bot(config) directory specification. (each bot should be alowed to have it's own cog, log directory to avoid mixing bots)

Features

  • Config Support: Quickly swap bot information such as Description, Tokens, Intents, Prefixes, etc.
  • Config File Setup Process: HangoutCore streamlines config file creation by walking the user through a short setup process, allowing the user to quickly and efficiently create multiple config files for quick bot swapping.
  • Automated config Swapping: By simply running py hangoutcore -config ConfigName HangoutCore will automatically swap over to the desired config and store the selection for future use. Once you run the command above you can simply run the bot like normal until you're ready to swap once again.
  • Automated Token Swapping: Multiple tokens in your config file? HangoutCore will automatically prompt the user to ensure the right token is chosen every time. Want to skip the prompt? Simply run py hangoutcore -token [INTEGER] to choose from the list of tokens.
  • Detailed Terminal Output: With a simple glance you're able to tell if your bot is running as it should. With colored terminal classes you can very easily tell apart Errors from normal output.

Installation

Please note it is assumed you already have Python, and VirtualEnv installed prior to this installation. If you do not have both installed please do so before continuing.
  1. Environment Setup:

    1. Create and CD into your desired directory via cd /path/to/directory
    2. Create a Virtual Environment via python -m venv --upgrade-deps /path/to/venv
    • [Linux] Activate your Virtual Environment via source venv/bin/activate
    • [Windows] Activate your Virtual Environment via .\venv\Scripts\activate
    1. Install hangoutcore via pip install hangoutcore
  2. HangoutCore Bot Setup:

    1. Start HangoutCore via hangoutcore
    2. The initial prompt will ask you to start the setup process
    1. The setup process will ask you various questions pertaining to the handling of your bot.
    2. Once you've entered the necessary info the bot will ask you to verify the information one last time before proceeding
    1. After confirming, the bot will then create the necessary directories and add your provided info to the config file that you named.
    1. The bot will now attempt to login with the provided token
  3. Starting HangoutCore

    • Starting HangoutCore with one token specified in your config will not require any other input before starting.
    • Starting HangoutCore normally with more than one token specified will cause HangoutCore to prompt you in the terminal to specify which token you'd like to use.
    • Starting HangoutCore Via hangoutcore -t int or hangoutcore --token int will use the number specifed to choose which token to start with ultimately skipping the prompt for token choice.

      If setting up HangoutCore to be run automatically or with no human interaction with the terminal please make sure to:

      1. Specify which token to use if multiple tokens are present in your config
      2. Start HangoutCore in silent mode using '-S True' or '-Silent True'

Contributers

A special thank you to the following for contributing to this project.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

HangoutCore-2.91.5.tar.gz (51.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

HangoutCore-2.91.5-py3-none-any.whl (53.5 kB view details)

Uploaded Python 3

File details

Details for the file HangoutCore-2.91.5.tar.gz.

File metadata

  • Download URL: HangoutCore-2.91.5.tar.gz
  • Upload date:
  • Size: 51.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.8

File hashes

Hashes for HangoutCore-2.91.5.tar.gz
Algorithm Hash digest
SHA256 6325c71696b9e369148a6ee9eb0a2af03b8f6680bc91e252491ff13958a30a7a
MD5 d70f506f4b262fd0033ee392f2496a69
BLAKE2b-256 406f37a628a4d8505f1fd3ff7f685882ff8c911d7f9362244356c6c9114bef10

See more details on using hashes here.

File details

Details for the file HangoutCore-2.91.5-py3-none-any.whl.

File metadata

  • Download URL: HangoutCore-2.91.5-py3-none-any.whl
  • Upload date:
  • Size: 53.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.8

File hashes

Hashes for HangoutCore-2.91.5-py3-none-any.whl
Algorithm Hash digest
SHA256 4cfa8b611d3b5405298f9e516773148b412fbdd101086f6df11268c847bc2718
MD5 09fabfa404646a8f152b931f08384f14
BLAKE2b-256 ef0d0577fcee373a4adb1f8da981fdfd7fa808c064d0f4c98fbdd78f4e0c8afa

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page