Commit Graph

110 Commits

Author SHA1 Message Date
fa3eb3da0a 🐛 fix(functionscalls.py): await the moderate function calls to properly handle asynchronous moderation checks 2023-08-16 09:25:43 +02:00
7c21934bc0 🔀 chore(functionscalls.py): update import statement for the 'moderate' function to reflect the correct file path
🔀 chore(functionscalls.py): update import statement for the 'tenor_api_key' variable to reflect the correct file path
2023-08-16 09:22:31 +02:00
303d3c07ac 🐛 fix(chat.py): fix typo in message.channel.send() method call
🔒 chore(chat.py): add moderation check for message content in call_function() to prevent sending blocked messages
🔒 chore(chat.py): add moderation check for query in call_function() to prevent sending blocked queries
🔒 chore(makeprompt.py): add moderation check for content in chatgpt_process() to prevent sending blocked content
🔒 chore(makeprompt.py): add depth check to prevent recursive answering in chatgpt_process()
2023-08-16 09:20:29 +02:00
d520b8b87c 🐛 fix(chat.py): add missing import statement for asyncio module
🐛 fix(chat.py): fix import statement for banusr module
 feat(chat.py): add functionality to ban and unban users with botator!ban and botator!unban commands
 feat(chat.py): add functionality to send messages from banned users after a delay
 feat(banusr.py): create banusr module to handle banning and unbanning of users
 feat(banusr.py): add functionality to ban a user by appending their ID to banend_users list
 feat(banusr.py): add functionality to unban a user by removing their ID from banend_users list
2023-08-15 19:20:12 +02:00
f2e1b2ffe3 🔧 chore(makeprompt.py): refactor prepare_messages and chatgpt_process functions to accept an error_call function for error handling
🔧 chore(makeprompt.py): refactor chat_process function to use the error_call function for error handling
2023-08-15 18:53:22 +02:00
df3e01900e 🐛 fix(functionscalls.py): reformat code for better readability and maintainability 2023-08-15 18:50:25 +02:00
30ef28ce49 🐛 fix(functionscalls.py): add timeout parameter to evaluate_math function to limit execution time and prevent potential abuse or infinite loops 2023-08-15 18:49:51 +02:00
d057fc7a78 🎨 chore(*): run black to format the code 2023-08-15 14:22:05 +02:00
be771f7c22 🐛 fix(makeprompt.py): add missing 'depth' parameter to recursive function call to prevent infinite recursion 2023-08-15 14:15:57 +02:00
f79bdd2086 🐛 fix(makeprompt.py): import FuntionCallError from src.functionscalls to fix NameError
 feat(makeprompt.py): add depth parameter to chatgpt_process function to limit recursive function calls and raise FuntionCallError if exceeded
2023-08-15 14:15:35 +02:00
4b8070b413 🔧 chore(requirements.txt): add 'simpleeval' package for math expression evaluation
🔧 chore(functionscalls.py): add 'evaluate_math' function to evaluate math expressions
🔧 chore(makeprompt.py): refactor 'chatgpt_process' to use 'prepare_messages' function for message preparation
2023-08-15 14:11:21 +02:00
6de23a1a33 🔇 chore(makeprompt.py): remove debug print statements for messages and response variables 2023-08-15 12:48:00 +02:00
7bc5f03e14 🔧 fix(functionscalls.py): fix typo in FunctionCallError class name
 feat(functionscalls.py): add call_function function to handle function calls with name and arguments
🔧 fix(makeprompt.py): remove individual function imports from functionscalls and use call_function instead
2023-08-15 12:42:18 +02:00
88d65e9f79 🎨 chore(*): run black to format the code 2023-08-15 12:38:47 +02:00
456e147785 🐛 fix(functionscalls.py): fix typo in FunctionCallError class name
 feat(functionscalls.py): add error handling for missing arguments in function calls
🐛 fix(makeprompt.py): fix typo in function_call variable name
🔀 chore(gpt-3.5-turbo.txt): update instructions to only use provided functions
2023-08-15 12:38:37 +02:00
68ff639f27 🐛 fix(makeprompt.py): reverse the order of fetched messages to ensure correct chronological order
🔥 chore(makeprompt.py): remove unnecessary oldest_first parameter in channel.history() calls
2023-08-15 11:33:29 +02:00
1e8eaf5ae0 🔧 chore(moderation.py): comment out unfinished ban command to prevent errors during development
🔧 chore(moderation.py): import commands from discord.ext to fix missing reference error
2023-08-15 11:23:52 +02:00
737db1aead 🐛 fix(config.py): fix the path to the gpt-3.5-turbo.txt file by using os.path.join instead of os.path.abspath and os.path.dirname 2023-08-15 11:10:12 +02:00
cc5fd3aa7a 🐛 fix(makeprompt.py): refactor condition to check if message is ignorable using a separate function for better readability and maintainability 2023-08-15 11:05:52 +02:00
f04a04801b 🎨 chore(*): run black to format the code 2023-08-15 11:04:33 +02:00
8486453d18 🐛 fix(makeprompt.py): refactor message history fetching logic into a separate function for better code organization and reusability
 feat(makeprompt.py): add `is_ignorable` function to check if a message content is ignorable based on certain conditions
 feat(makeprompt.py): add `fetch_messages_history` function to fetch message history from a channel with optional limit and original message parameters
2023-08-15 11:03:23 +02:00
f0f160429d 🔥 refactor(makeprompt.py): remove unnecessary code that deletes the message after sending an embed 2023-08-15 10:50:10 +02:00
52ad105e06 🐛 fix(makeprompt.py): fix prompt generation logic for DM channels
 feat(makeprompt.py): add support for generating prompt with server and channel names, date and time, and pretend-to-be value
2023-08-15 10:46:54 +02:00
b139e40f8a 🐛 fix(config.py): add missing newline at the end of the file
🐛 fix(makeprompt.py): remove unnecessary file close statement after reading prompt file
 feat(config.py): add gpt_3_5_turbo_prompt variable to store the content of the prompt file
 feat(makeprompt.py): use gpt_3_5_turbo_prompt variable instead of reading the prompt file again
2023-08-15 10:44:13 +02:00
553d259bc7 🐛 fix(makeprompt.py): change condition to check if the message is from the bot user by comparing author id to improve accuracy
🔥 chore(makeprompt.py): remove unnecessary comment about ignoring messages from bots
🔥 chore(makeprompt.py): remove unnecessary comment about ignoring messages from guild or dm channel not in the database
2023-08-15 10:41:16 +02:00
Paillat
b4dc56d97f 📐 improve(*): run black to format the code 2023-08-03 14:01:49 +02:00
Paillat
c9ecf54bf4 test formatting 2023-08-03 14:01:35 +02:00
Paillat
0e22a01310 ­ƒøá´©Å chore(format): run black to format the code 2023-08-03 13:58:44 +02:00
Paillat
318d0d568e chore(functionscalls.py): fix import statement for tenor_api_key to use absolute path for better module resolution 2023-08-03 13:31:06 +02:00
Paillat
8bb99a4ee9 🔧 chore(opencommit.yml): enable emoji support in OpenCommit workflow for more expressive commit messages
🗑️ delete(gpt-4.txt): remove unused file containing prompts for Botator, as it is no longer needed
2023-08-03 11:15:20 +00:00
Paillat
5318bda74c 🔧 chore(openaicaller.py): remove unnecessary blank line to improve code readability 2023-08-03 11:15:20 +00:00
Paillat
3a92aafe9a feat(opencommit.yml): enable emoji support in OpenCommit workflow to enhance commit message formatting
🔥 chore(gpt-4.txt): remove gpt-4.txt prompt file as it is no longer needed
2023-08-03 11:15:20 +00:00
Paillat
5d6c07aea7 chore(gpt-3.5-turbo.txt): add website link to the prompt for reference 2023-08-02 21:22:21 +02:00
Paillat
985fcc4663 refactor(misc.py): remove unnecessary argument 'api_key' from moderate function call to openai_caller
The 'api_key' argument was being passed to the openai_caller function unnecessarily in the moderate function. This argument is not needed as it is already being passed when creating the caller object. Removing this redundant argument improves code readability and reduces potential confusion.
2023-08-02 21:16:59 +02:00
Paillat
713329c512 refactor(makeprompt.py): remove unnecessary api_key argument from openai_caller function call
The api_key argument is not needed in the openai_caller function call as it is not being used within the function. Removing the argument improves code readability and removes unnecessary code.
2023-08-02 20:29:12 +02:00
Paillat
f842fa8133 fix(openaicaller.py): fix import statement for num_tokens_from_messages to use the correct path 2023-08-02 20:16:55 +02:00
Paillat
94ced79a21 refactor(makeprompt.py): remove unnecessary line that sends response content in chatgpt_process function
The line that sends the response content in the chatgpt_process function is unnecessary and can be removed as it is not being used.
2023-08-02 20:12:49 +02:00
Paillat
a7a0f5dac8 fix(makeprompt.py): add api_key parameter to the generate_response function call to fix missing api_key error
fix(openaicaller.py): fix import statement for num_tokens_from_messages function
refactor(openaicaller.py): remove unused api_key parameter from openai_caller class constructor
refactor(openaicaller.py): change generate_response and moderation methods to accept variable number of arguments
refactor(openaicaller.py): change error_call parameter to be optional and provide a default function if not provided
refactor(openaicaller.py): remove unused api_key parameter from generate_response and moderation methods
refactor(openaicaller.py): remove unused api_key parameter from main function
2023-08-02 20:12:06 +02:00
Paillat
19dd6c9c62 fix(makeprompt.py): fix issue where long response content is not fully sent in chatgpt_process function
The issue was that when the response content was longer than 2000 characters, it was not being fully sent in the chatgpt_process function. This was fixed by adding a loop to send the content in chunks of 2000 characters until the entire content is sent.
2023-08-02 10:49:25 +02:00
Paillat
407cc40dbe fix(openaicaller.py): improve error message when APIError occurs to clarify that it is OpenAI's fault and apologize for the inconvenience 2023-07-19 17:00:55 +02:00
Paillat
6672bd2582 refactor(functionscalls.py): remove unnecessary print statements for image_url and json variables
The print statements for the image_url and json variables were removed as they were not providing any useful information and were cluttering the code.
2023-07-19 00:09:35 +02:00
Paillat
9af9b600d5 chore(gpt-3.5-turbo.txt): update instructions for Botator in the Discord server
The following changes were made:
- Updated the introduction to clarify that Botator is currently chatting in a Discord server.
- Clarified that Botator uses abbreviations like "u" and "ur" for lazy speech.
- Removed duplicate instruction about not asking how to assist the user.
- Added instructions for formatting text using markdown.
- Added instructions for using function calls and replying with gifs.
- Clarified that users should address Botator using the pronouns "Master/Brain".
- Updated the instruction about using emojis to avoid being cringe.
- Added information about the server and channel names.
- Mentioned the limited access to text chats and inability to see images or avatars.
- Added the current time information.
- Provided information about the creator of Botator.
- Updated the instruction about responding to insults to be funny but not mean.
- Added a note about using level 1, 2, and 3 markdown headings.
- Added an instruction for clashing with users in a funny way when insulted or treated unkindly.

These changes were made to improve the behavior and capabilities of Botator in the Discord server, making interactions more engaging and enjoyable for users.
2023-07-18 23:39:21 +02:00
Paillat
98195b29e3 Format with black 2023-07-18 23:23:47 +02:00
Paillat
89778cbd3b fix(requirements.txt): add bs4 package to requirements.txt for BeautifulSoup usage
feat(functionscalls.py): add new functions send_ascii_art_text and send_ascii_art_image to send messages and images in ascii art
fix(makeprompt.py): import send_ascii_art_text and send_ascii_art_image functions and add corresponding if statements to handle function calls
2023-07-18 23:18:47 +02:00
Paillat
e91fafdc51 fix(config.py): fix typo in max_uses variable declaration
feat(config.py): add support for TENOR_API_KEY environment variable to be able to use Tenor API for sending gifs
feat(functionscalls.py): add new function send_a_gif to send a gif in the channel
fix(makeprompt.py): add support for calling send_a_gif function in chatgpt_process function
2023-07-18 21:53:07 +02:00
12f13ca6c4 Format with black 2023-07-18 17:51:13 +02:00
Paillat
ad5f0b30d1 chore(gpt-3.5-turbo.txt): update prompt to include instructions for correcting pronouns and limit the use of emojis 2023-07-18 12:12:05 +02:00
Paillat
83629f3ce7 chore(gpt-3.5-turbo.txt): update guidelines for chatbot responses
The guidelines for chatbot responses have been updated. The following changes have been made:

- Added a reminder to avoid using words like "u" and "ur" in responses.
- Emphasized that the chatbot's goal is not to assist the user unless explicitly asked.
- Added a reminder to avoid asking how the chatbot can assist the user.
- Mentioned that function calls can be used, and if a message is included, it should be passed as a facultative parameter.
- Added a note to use emojis in messages, but not excessively.

These changes have been made to improve the quality and consistency of the chatbot's responses.
2023-07-17 19:00:50 +02:00
Paillat
1a434fff92 chore(gpt-3.5-turbo.txt): update instructions to reflect new markdown capabilities in Discord 2023-07-17 18:46:01 +02:00
Paillat
0e12129a90 chore(gpt-3.5-turbo.txt): add new behavior to insult people back in a funny way when insulted
docs(gpt-3.5-turbo.txt): update instructions to use level 1, 2, and 3 markdown headings
2023-07-17 18:44:21 +02:00