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 hashes)

Uploaded Source

Built Distribution

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

Uploaded Python 3

Supported by

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