Skip to content
This repository has been archived by the owner on Aug 26, 2024. It is now read-only.
/ discord-bot Public archive

The Town Guardian bot used in the Climate Town Discord.

Notifications You must be signed in to change notification settings

ClimateTown/discord-bot

Repository files navigation

it's been months and we still haven't come up with a usecase for this Discord bot. Archiving until this has a purpose... (if you have an idea, post an issue here or tag @Comptrollers in Discord)

YouTube subs Patreon

All Contributors


This is the code that runs our custom <bot name> bot in the Climate Town Discord server!

Contributing

Contributions welcome! Suggest features for the bot by posting an issue, or by messaging in 🔨server-suggestion-box.

Note that bot feature suggestions are approved/dis-approved at the discretion of the moderators (aka. Comptrollers) of the server*.

If you want to contribute code, thank you! Head over to the issues section and find an issue you're interested in (voice your interest so other developers know what you're up to). Then go ahead and create your PR, get it reviewed, and merge it in!

* Note: Approved features will likely be in line with the limitations of the existing infrastructure. See the infrastructure section for more details on where the code is being run, and resources the machine has. If you have an amazing feature that would provide benefit to users, this may warrant us upgrading infrastructure to accommodate 😉.

Development setup

This repo uses Python.

  • install Python if you haven't already (minimum version 3.9)
  • create a virtual environment, then activate it (optional, but recommended)
    • python -m venv venv
    • activate the environment using either:
      • source venv/bin/activate (Linux/MacOS)
      • venv\Scripts\activate.bat (Windows)
  • pip install -r requirements.txt
  • OPTIONAL: pre-commit install

This codebase uses pre-commit and pre-commit CI to run linting on code, format Python code, and generally have help with code quality. pre-commit install is an optional step in case you also want to have pre-commit run locally.

To run pre-commit manually (without making a commit), use pre-commit run --all-files. If you want to stop using pre-commit locally, just do pre-commit uninstall.

Adding Python dependencies

This codebase uses pip-tools to manage dependencies. If you add a new dependency, you can add it to requirements.in and run pip-compile to update requirements.txt. To update your environment run pip-sync.

Infrastructure

Currently the bot is running in a virtual machine (e2-micro, see the specs here) on Google Cloud Platform (GCP) as part of their free tier.

As such, we are keeping things to text interactions (no image/video processing), and no database for the time-being.

Note we will likely move to a greener platform if we exceed GCP's free tier. Let us know in 🔨server-suggestion-box if you have suggestions for cloud providers.

✨Contributors

Thanks go to these wonderful people (emoji key):

This project follows the all-contributors specification. Contributions of any kind are, again, welcome!

About

The Town Guardian bot used in the Climate Town Discord.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published