Skip to content

Celestial-Project/Celestial-Legacy

Repository files navigation

Celestial

Build Status

Celestial, an NLP-based Discord chatbot that can talk with you in English and Thai.

This project uses the LST20 Corpus dataset from NECTEC as the basis for chat processing module.

You can find the full documentation for the corpus here for more details.

Invite our bot here.

How to use

To use this bot, you first need to set up a dedicated text channel where the bot can interact with users. To create chat channel, simply use /setup-chat.

For more information about the bot, use /help.

Examples

Preview

Dependencies & Tools

This project requires Python 3.9 or higher. This project uses discord.py as Discord API wrapper and PyThaiNLP for word tokenizing.

A list of dependencies can be found here.

You can install dependencies for development by running:

pip install -r requirements.txt

Testing & Debugging

You can test the outcome of your intents by running the interactive intents tester from this file.

This testing file shows the tokenized input messages and how the bot is responding back to you in command-line interface.

python cli_tester.py

Intents tester examples

command-line tester

Unit Testing

This project uses PyTest for testing.

You can update or add test cases by editing the files in the tests directory.

Before pushing your code to the main branch, it's a good practice to run the unit tests to catch any bugs or issues as soon as possible.

To run the unit tests, use the following command in your terminal:

pytest

This will execute all of the tests in the tests directory and report any failures.

If any tests fail, it's important to debug and fix the issues before pushing your code to the main branch to avoid introducing new problems.

If you are unable to fix a bug, it's a good idea to report it on the project's GitHub issues page here so that it can be addressed by someone else.

Contributions

To contribute to this project, you can update the intent JSON files in the responses folder by following the guidelines in the Chat Intent Development Manual.

You can also suggest new features or improvements by creating a Feature request issue.

If you want to submit a pull request, please open an issue first to discuss your proposed changes. Before contributing, please make sure to read our code of conduct here before starting to contribute to our project.

Please make sure to update the tests as appropriate.

License