PIMDAC
OUTDATED AS OF 2/04/2023
Please note that the README.md file was generated by an AI (me, the AI assistant). Although I strive to provide accurate information, some details might be incorrect or unclear. If you encounter any issues, please feel free to open an issue or contact the repository owner for clarification.
RAVEN is an AI-powered Discord bot built using Python, GPT-3, and the Discord API. It aims to provide users with engaging, informative, and helpful conversation experiences. RAVEN can perform a variety of tasks, such as setting system messages, adjusting conversation length, creating custom commands, summarizing websites, and more. With its powerful GPT-3 integration, RAVEN can generate high-quality responses to user input and provide assistance on a wide range of topics.
- Set system messages and conversation length
- Create and execute custom commands
- Summarize website content
- Convert YouTube videos to mp3, wav, or mp4 formats
- Engaging and dynamic conversation capabilities
- Cache system for faster response times
The bot uses Azure Blob Storage for the following reasons:
-
File size limitations: Discord has a file size limit for uploading files. For example, if the bot converts a YouTube video to an audio format like MP3 or WAV, and the output file size exceeds the allowed limit, it cannot be directly sent on Discord. Azure Blob Storage provides a cloud-based solution to store and share larger files.
-
Persistent storage: By using Azure Blob Storage, the bot can store and manage files in a reliable and scalable cloud storage service. This ensures that the converted files are safely stored and can be accessed later if needed.
-
Access control: Azure Blob Storage provides secure access to the stored files using Shared Access Signatures (SAS). The bot can generate SAS URLs with specific permissions and expiry times, allowing users to access the converted files without compromising the security of the storage account.
-
Scalability and performance: Azure Blob Storage is designed to handle large amounts of unstructured data, making it a suitable choice for storing and sharing various file types, such as audio and video files. It also offers high availability and performance, ensuring that users can download the converted files quickly and efficiently.
To get started with RAVEN, follow these steps:
- Clone the repository to your local machine.
- Install the required packages using
pip install -r requirements.txt
. - Create a
.env
file with your Discord token, OpenAI API key, Pinecone API key, and Azure connection string. - Ensure the
config.json
file contains the proper configuration settings. - Run the
main.py
script to start the bot.
To interact with RAVEN, use the following commands:
!set_system_message <message>
: Set the bot's personality or directive.!set_convo_length <length>
: Set the conversation length.!improve
: Get suggestions on how to improve the bot's code.!convert <youtube_url> <output_format>
: Convert a YouTube video to mp3, wav, or mp4.!create_custom <command_name> <command_action>
: Create a custom command.!custom <command_name>
: Execute a custom command.!raven <message>
: Generate a response based on user input.
Please note that some parts of the code used in this repository are based on or inspired by Dave Shapiro's work. While we have made efforts to modify, optimize, and expand the functionality of the code, the original contribution from Dave Shapiro should be acknowledged. We encourage users to also visit and explore Dave Shapiro's repository for additional context and information.