Your DiscordBot for a safer environment
Project description
ChatWizard
Discord bot to encourage positiveness within a server by analyzing and scoring each member's behavior.
Overview
ChatWizard is a Discord bot that encourages positivity within a server by analyzing and scoring each member's behavior. It uses OpenAI's GPT-3.5-turbo to assess members based on factors such as helpfulness, language use, friendliness, and humor. With ChatWizard, you can create a more welcoming, engaging, and supportive environment for everyone in your server.
Features
- Analyzes and scores server members based on grammar, friendliness, and humor values of their messages.
- Encourages and rewards positive contributions to the server.
- Provides a score breakdown so members can see how they're performing in each category.
- Logs all messages sent, making it easy to review member behavior.
Demo
Dependencies
- Python 3.6 or higher
discord.pymodule (v1.7.3 or higher)openaimodule (v0.11.1 or higher)- OpenAI API key (v4)
- A Discord user account and server
Installation
- Clone this repository:
git clone https://github.com/ulasonat/ChatWizard.git
- Install the required third-party packages:
pip install discord
pip install openai
-
Set up the following environment variables, replacing
your_discord_api_keyandyour_openai_api_keywith your actual API keys:For bash:
export DISCORD_API_KEY="your_discord_api_key" export OPENAI_API_KEY="your_openai_api_key"
For Windows cmd:
set DISCORD_API_KEY="your_discord_api_key" set OPENAI_API_KEY="your_openai_api_key"
-
Invite the bot to your server through Discord Developer Portal.
-
Usage
To run the application, execute the following command in your terminal/cmd prompt:
python main.py <openai_api_key> <discord_api_key>
Alternatively, you can import the library and call the main.run function by passing the Discord API key, OpenAI API key as arguments. Then, run the bot using the run method.
run(discord_api_key, openai_api_key)
Moreover, you can have instances of either OpenAIHandler or DiscordBot classes, and use the functions available. If you want to use our library to get a humor score for the sentence, you can do the following:
from openai_handler import OpenAIHandler
openai_handler = OpenAIHandler(
api_key=open_ai_api_key,
grammar_prompt_path=grammar_prompt_path,
friendliness_prompt_path=friendliness_prompt_path,
humor_prompt_path=humor_prompt_path,
)
worst_joke_ever = 'Why did the tomato turn red? Because it saw the salad dressing!'
humor_score = openai_handler.get_humor_score(worst_joke_ever)
More examples are included in our project's website.
Bot Commands
- To get help:
!help - To view your scores:
!me - To reset your scores:
!reset
After sending a message, ChatWizard will reply with an embed showing the score breakdown for that message.
Contributing
Contributions are welcome! Please feel free to submit a pull request for any bug fixes or new features you would like to add.
Check the CONTRIBUTING.md for details!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file chatwizard-0.2.0.tar.gz.
File metadata
- Download URL: chatwizard-0.2.0.tar.gz
- Upload date:
- Size: 96.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.16
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
51fbac3fe4d79152927a0ec5af539cf8a114a4f3081b3d1831c1d54d4681ccfa
|
|
| MD5 |
9f469927e569533811fbb961177cf764
|
|
| BLAKE2b-256 |
cd5214fe438ae9f3c22f459895052117cb764b23154142b25114dc4a99882670
|