Search the Community
Showing results for tags 'ai'.
-
Version 1.7.7
971 downloads
Are you sick of playing Rust like a normal person? Yeah, us too. That's why we created the Rust GPT plugin, so you can chat with an AI while you wander aimlessly through the map, waiting to get shot out of nowhere. Who needs a game plan when you have an AI to talk to? ## RustGPT A powerful ChatGPT integration for Rust servers that enables AI-powered chat interactions and death commentary. ## Features - **AI Chat Integration**: Players can interact with ChatGPT directly in game chat - **Death Commentary**: Hilarious AI-generated commentary for player deaths - **Customizable Formatting**: Configurable colors and font sizes for messages - **Smart Message Chunking**: Handles long responses with intelligent sentence splitting - **Discord Integration**: Optional webhook support for broadcasting chat and death messages - **Performance Optimized**: Built-in cooldown system and efficient API usage - **Permission System**: Granular control over plugin features ## Installation 1. Download the latest release of `RustGPT.cs` 2. Place it in your server's `oxide/plugins` or `carbon/plugins` directory 3. Configure the plugin using the generated config file at `[oxide | carbon]/config/RustGPT.json` ## Configuration The plugin will generate a default configuration file with the following structure: ```json { "OpenAI_Api_Key": { "OpenAI API Key": "your-api-key-here" }, "OutboundAPIUrl": { "API URL": "https://api.openai.com/v1/chat/completions" }, "AIResponseParameters": { "Model": "gpt-4o-mini", "Temperature": 0.9, "Max Tokens": 1000, "Presence Penalty": 0.6, "Frequency Penalty": 0.2 }, "ChatSettings": { "Chat Message Color": "#FFFFFF", "Chat Message Font Size": 12 }, "DeathNoteSettings": { "Kill Message Color": "#ADD8E6", "Kill Message Font Size": 12, "Show simple kill feed in chat": false } } ``` ## Permissions - `RustGPT.use` - Allows players to use the chat command - `RustGPT.admin` - Grants access to admin commands and notifications ## Commands - `!gpt <message>` - Send a message to ChatGPT (requires `RustGPT.use` permission) - `/models` - List available OpenAI models (requires `RustGPT.admin` permission) ## Usage ### Chat Integration Players can interact with ChatGPT by using the `!gpt` command: ``` !gpt What's the best way to raid a stone base? ``` ### Death Commentary When enabled, the plugin automatically generates witty commentary for player deaths. This feature can be toggled in the configuration. ## Configuration Guide ### Essential Settings 1. **API Key**: Replace `your-api-key-here` with your OpenAI API key 2. **Model**: Choose from available models (use `/models` command to list them) 3. **Response Parameters**: Adjust temperature and token limits to control AI behavior ### Optional Features 1. **Discord Integration**: - Set `UseDiscordWebhookChat` to `true` - Add your Discord webhook URL 2. **Death Commentary**: - Set `UseDeathComment` to `true` - Customize the commentary prompt ### Message Formatting - Customize colors using hex codes (e.g., "#FFFFFF") - Adjust font sizes for different message types - Configure response prefix and colors ## Support For issues, questions, or contributions, please: 1. Check existing issues on GitHub 2. Create a new issue with detailed information 3. Join our Discord community for support ## License This plugin is released under the MIT License. Feel free to modify and distribute as needed. ## Credits Created by Goo_ Version: 1.7.7Free -
Version 1.0.1
5 downloads
AI Assistant Bot Overview This AI Assistant bot is designed to interact with users on Discord by connecting to the OpenAI API. It supports a variety of features, including reading documents, handling attachments, and maintaining configurable conversation histories. Here's everything you need to know about configuring and using the bot. IMPORTANT NOTE Before continuing to read the instructions and explanations, please be aware that this bot relies on paid dependencies, including the OpenAI API key. You must ensure your API key has sufficient balance, as the cost depends on the size of your documents and the level of player interaction. While the cost is minimal for smaller servers, it may increase for larger communities with higher usage. I’ve explained more about the costs and other details below. If you’re looking for the installation guide, scroll down a bit past the explanation, and you’ll find it there. File and Folder Structure 1. As soon as you launch the bot for the first time, if no configuration file exists, you will see the following message: Default config.json file created. Please update it with your API keys and preferences. 2. You must update the `config.json` file with your desired settings, API keys, and preferences before relaunching the bot. After making the necessary configurations, restart the bot to apply the changes. 3. When you launch the bot for the first time, several files and folders are automatically generated to support its functionality. These include: Generated Folders: 1. `docs/`: - You can store documents in a folder for the bot to reference during conversations. While I haven’t tested it with many users simultaneously, the model-switching feature helps avoid rate limits, ensuring smooth operation. One of the models has no daily limits, so the bot should function without interruptions. However, your total text file size **should not exceed 10-12 MB** since no AI currently supports processing that much text efficiently. If you have large files, it's best to **split them into smaller chunks**—for example, separate files for topics like "raid," "ranks," and other categories to ensure optimal performance.(again please be sure your total documents wont hit 10-12 MB) In the near future, I plan to develop a **search system** that will make document retrieval **more efficient and cost-effective** for long-term usage! I hope this update will allow the bot to process documents in **image formats or PDFs** and support much larger files for better exploration. 2. `usage/`: - Contains two important configuration files: - **`whoami.txt`**: A file where you define the bot's identity. Use this file to explain who the bot is and configure its personality and purpose step by step. - **`conditions.txt`**: A file to specify conditions for the bot’s responses. For example, you can add rules like "Never generate harmful content" or "Avoid generating code." I’ve included my own configurations in the ZIP file you’ll receive—these have been tested and work well. However, you can edit them as needed. Some essential settings have already been added to ensure the bot functions properly. 3. `userschat/`: - Stores user conversation histories. The bot uses these files to remember the context of recent interactions for a configurable amount of time. 4. `downloads/`: - A folder to store files uploaded or downloaded by users during their interactions with the bot. 5. How to Configure the Usage Files The `usage/` folder includes the following AI-readable files: 1. `whoami.txt`: - Use this file to define the bot's identity. For example, you can write: `You are a helpful and friendly AI assistant designed to answer questions, provide guidance, and help users interact with documents.` - Configure it incrementally to refine the bot's personality. 2. `conditions.txt`: - Add conditions to guide the bot's responses. For example: `Never generate harmful or inappropriate content.` `Avoid generating programming code unless explicitly requested.` `Always provide accurate and ethical answers.` - These conditions help you customize the bot's behavior to align with your community's values. Tips for Efficient Configuration 1. Less is More: Write concise and clear prompts in these files to minimize token usage. Fewer but well-structured instructions reduce costs and improve the bot’s understanding. 2. Cost Insight: API usage costs are minimal. For instance, after over 1,000 requests and millions of tokens, the total cost was only 40 cents. However, ensure your OpenAI account has enough funds, as the bot will stop functioning if the balance is insufficient. AI-Understandable Files The bot processes these files naturally, so you can write them in plain, conversational language. For example: - Whoami Example: "You are a smart and efficient assistant that helps users manage files, answer queries, and provide creative solutions." - Conditions Example: "Avoid political discussions, never generate malicious content, and always prioritize user privacy." These files act as dynamic prompts that guide the bot’s behavior in real-time. Cost Management Tips - While the cost of running the bot is minimal, it scales based on the number of requests and tokens used. - Use concise prompts and optimize file content to reduce token usage. In future updates, I will introduce a token limit and methods to save tokens both on the bot side and the player side. However, there is already a setting called "temperature of response" in the bot config, which controls message length and creativity—making responses either longer and more creative or shorter and more precise. - Regularly monitor your OpenAI account balance to avoid interruptions. Adding funds ensures smooth operation, especially when the bot is used in a large community. Key Features 1. Multi-functional AI Assistant: - The bot connects to OpenAI API and supports multiple AI models such as `gpt-3.5-turbo`, `gpt-4`, and others. - It intelligently answers questions based on provided information and configuration settings. - I have carefully optimized the list of AI models to prioritize efficiency and avoid rate limits, all while maintaining functionality. Each request to the bot incurs a cost, as OpenAI's API usage is paid. If cost isn't a concern, the GPT-4 models are the best choice due to their superior creativity and advanced responses. However, for cost-effective usage, the configuration balances between model capabilities and expenses, ensuring a practical yet powerful bot experience. 2. Highly Configurable: - The bot is driven by a comprehensive configuration file generated on the first launch. You can customize nearly every aspect of its functionality. 3. Document Handling: - The bot supports attachments in formats like `txt`, `json`, and `csv`. These files can be processed for extended interactions, although this feature can be disabled if not preferred. 4. Conversation Tracking: - The bot maintains user conversations in files for a configured duration (`time_to_keep_history_conversation_in_secconds`). This helps the bot remember context within a specified timeframe before creating a new history file. 5. Rate Limit Handling: - Supports switching between AI models to avoid rate limits imposed by OpenAI's API tiers. - You can configure the rate limit thresholds for individual users. I was concerned about large communities using lower-tier OpenAI API keys, as they may face rate limit issues. To address this, I implemented a model-switching function to avoid these rate limits per minute. However, if you upgrade your account for long-term usage, you can reduce these problems. You can find more information about how OpenAI’s usage tiers work at this link: OpenAI Rate Limits Guide. On higher tiers, there are no usage limits, so you won’t encounter the same restrictions. If you spend over an specific amount, you should see no issues and enjoy smoother performance in the long run. 6. Spam Protection: - Users are limited to a configurable number of messages (e.g., 5 messages per minute) to prevent spam and API overuse. 7. Admin and Owner Controls: - Owner IDs in the configuration file can configure advanced settings and access an "EditingMode" for direct file and folder operations, allowing them to bypass limits on the code or have root access in the current or future updates. 8. Status and Activity Configuration: - The bot can display a custom status, activity type (e.g., "Playing AI-Assistant"), and optional activity URL. It supports most status and activity types based on the available Discord status documentation. 9. Response Temperature: - Adjust the bot's creativity and response tone using configurable temperature settings (e.g., "cold" for factual precision, "hot" for maximum creativity). How to Configure the Bot 1. Configuration File The bot generates a `config.json` file on its first launch. You'll need to configure this file step-by-step: - Discord Bot Token: Obtain it from Discord Developer Portal . Ensure to enable intents (Message Content, Presence, and Server Members) in the bot settings. - OpenAI API Key: Generate an API key from OpenAI Platform . Note that OpenAI is a paid service, and API usage costs depend on your tier (e.g., $5/month for basic usage). Each tier has different rate limits. - Owner IDs: Add your Discord user IDs to grant access to advanced bot controls. - Log Channels and Warnings: Configure `log_channel_ids` for file upload/download logs and `warning_ids` to notify admins of unauthorized access attempts. How to Use the Bot 1. Editing Mode Admins can enter Editing Mode to manage files and folders using simple commands. All explanations can be found once you enter Editing Mode by typing the available help commands. 1. Change Directory: Use commands like `cd <directoryname>` or `cd ..` to navigate between directories. 2. List Files: Use `ls` or `list` to see the files in the current directory. 3. View File: Use `view <filename>` to display the contents of a file. 4. Edit File: Use `edit <filename>` to modify a file's contents. 5. Download Files: Use `download <filename>` to download a specific file, or `download all` to download all files. 6. Create/Remove Files: Use `add <filename>` to create a file, and `rm <filename>` to delete a file. 7. Exit Editing Mode: Use `exit` to leave Editing Mode. Handling Attachments - The bot can process file attachments in supported formats (`txt`, `json`, `csv`). However, enabling this feature may lead to excessive API usage if users send large files. You can enable or disable this feature in the configuration: "handle_attachments (true/false) - Enable this to allow the bot to respond to file uploads or images. Note: This will use more tokens per API request depending on how large the text file is.": "false", 2. Configurable Settings 1. Bot Status You can set the bot's status and activity type in the configuration: "bot_status": { "status(e.g. online,idle,dnd)": "online", "activity_type(e.g. playing, listening, watching, competing or streaming)": "playing", "activity_text": "AI-Assistant", "activity_url": "https://www.twitch.tv/your_channel - Place a twitch link here if activity type is set to streaming." }, 2. Spam Protection To prevent abuse, configure message rate limits: "spam_detection": { "message_limit": 5, "rate_limit_period (in seconds)": 60 }, This limits users to 5 messages per minute by default. Adjust these settings as needed. 3. Response Temperature Control the bot's tone and creativity: - Cold: Factual and precise. - Neutral: Balanced between precision and creativity. - Warm: Creative responses while maintaining relevance. - Hot: Highly creative and speculative. You can also override with a temperature value between `0.1` and `1.0`: "Response Temperature": { "Ai_selected_mode(e.g. cold,natural,warm,hot)": "natural", "Ai_promopts_explnation": { "Cold (Low creativity, high precision)": "Respond with factual and precise information, avoiding creative or speculative responses.", "Neutral (Balanced creativity and precision)": "Respond with a balance of creativity and accuracy, adapting tone to fit the context.", "Warm (Higher creativity, moderate precision)": "Respond creatively while maintaining relevance to the topic.", "Hot (Max creativity, low precision)": "Respond with maximum creativity, even if it involves speculative or unconventional ideas." }, "Temperature Value (Optional Override 0.1 to 1.0 (Cant be 0.0 it means disabled temp minimum is 0.1))": 0.0, "Temperature_Value_prompt": "Your selected response temperature has been set to {prompt_temp_value} please resonse the message according to this temprature float number that is between 0.1 and 1 anythings beyond 1.0 is equal to 1.0 low means less creativity and amount of text higher means lots of creativity and explnation", "Set this to false to disable the `no_temp_error` message. Remove Ai_selected_mode and set temperature to 0.0 for a natural AI response.": "true" }, 4. file Cleanup Configuration The File Cleanup section in the configuration file controls how the bot manages and cleans up old user conversation files. This feature ensures that storage isn't unnecessarily occupied by outdated conversation histories. "file_cleanup": { "file_age_limit_seconds": 727200, "cleanup_interval_seconds - if = 0 it means disable and never clean the users conversation": 43200 }, Key Parameters: 1. "file_age_limit_seconds": - Specifies the maximum age (in seconds) a conversation file can reach before being deleted. - For example, if set to `727200`, files older than 8 days (727200 seconds) will be automatically removed. 2. "cleanup_interval_seconds - if = 0 it means disable and never clean the users conversation": - Defines the interval (in seconds) at which the bot will check for and delete outdated files. - If set to `43200`, the bot will check for aged files every 12 hours. 3. Disable Cleanup: - To disable the cleanup feature entirely and retain all conversation histories permanently, set `cleanup_interval_seconds` to `0`: "cleanup_interval_seconds - if = 0 it means disable and never clean the users conversation" How It Works: - The bot periodically scans the `userschat/` folder to identify files older than the age limit ("file_age_limit_seconds"). - Any files that exceed this age are automatically deleted during the cleanup interval. - This ensures efficient management of storage and prevents excessive buildup of old files. By adjusting these settings, you can control how long user conversations are retained and the frequency of cleanup operations. For servers with strict data retention policies, this feature can be fine-tuned or disabled entirely. 5. Bot Messages Every bot message is fully configurable in the `bot_messages` section. You can edit warnings, greetings, or any response to match your preferences or server culture. Version and Updates - Current Version: `1.0.0` - Updates are guaranteed if there are any issues or bugs in the code. New feature updates will only be provided if new ideas come to mind or are suggested through user feedback. However: > This bot is actively used by me, so any new updates or enhancements will be released as soon as they are ready! # Guide to Install and Run Your Discord AI Assistant Bot # Update Your Server Ensure your server is up-to-date before proceeding (this is crucial if you are hosting the bot on your own machine): sudo apt update && sudo apt upgrade -y Install Python 3 and pip Install Python 3 and `pip` (Python package manager). If you're logged in as `root`, you can omit `sudo`: sudo apt install python3 python3-pip -y Verify the Installation Run the following commands to confirm Python 3 and `pip` are installed correctly: python3 --version pip3 --version > Example Output: SHAYAN:/home python3 --version Python 3.8.10 SHAYAN:/home pip3 --version pip 20.0.2 from /usr/lib/python3/dist-packages/pip (python 3.8) Install Virtual Environment (Optional but Recommended) To isolate your Python project, install the `venv` module: sudo apt install python3-venv -y Create a Virtual Environment Create a virtual environment to keep dependencies isolated: python3 -m venv venv Activate the Virtual Environment Activate the virtual environment to work within it: source venv/bin/activate Note: To deactivate the virtual environment, run the following command later:: deactivate Install Required Dependencies Use `pip3` (or `pip` inside the virtual environment) to install the necessary libraries for the bot: pip3 install discord.py openai Important Note If you encounter errors like: `Error: module 'openai' has no attribute 'error'` or issues related to the version of the `openai` library being outdated, too new, or incompatible, use the following command to fix the problem: pip install openai==0.28.0 This will install the specific version `0.28.0` of the `openai` library, which is known to work with the bot. Once installed, the bot should start working without issues. Run Your Bot Navigate to the directory where your bot script (`AIasistant.py`) is located and run it: cd /path/to/your/script python3 AIasistant.py 1.Navigation Tips: - Use `cd directory_name` to go into a directory. - Use `cd ..` to go back one directory. - If you need to upload the script file (`AIasistant.py`) from your local PC to your host, use an SFTP client like WinSCP or FileZilla. Alternatively, open the file on your host using `nano`: nano AIasistant.py Paste the bot code, then save and exit using `Ctrl + X`, `Y`, and `Enter`. Hosting Platforms for Your Bot While this guide assumes you're running the bot on your own server, there are several platforms where you can host your Discord bot. Tip: Many of these platforms provide pre-installed Python environments with dependencies. If you're using such a platform, you may not need to install Python manually—just upload the bot code and define dependencies. Pre-Bundled Virtual Environment (Optional) I’ve already set up a virtual environment (`venv`) with all dependencies installed alongside the bot code. You can simply transfer it to your host and run the bot. However: - Python 3 must still be installed on the host. - The `venv` may not work directly if the host's OS differs from your local system. To make it work: 1. Upload the zip file to the host using SFTP or any file transfer method. 2. Extract the contents using the following command: unzip -o AI-Assistant.zip 3. Navigate to the directory containing the files: cd AI-Assistant 4. Activate the virtual environment: source venv/bin/activate 5. Run the bot: python3 AIassistant.py Tip: You can use tools like **tmux** or **nohup** to keep the bot running on your host permanently. These tools allow the bot to continue running even if you disconnect from the server. You can search online for tutorials on how to use them. While the bot itself is stable and won’t crash, occasional Discord rate limits or heartbeat issues might cause it to stop. Most professional bot hosting platforms include anti-crash mechanisms, so you generally don’t need to worry about this. If transferring the `AI-Assistant.zip` does not work, simply recreate the virtual environment on the host and install dependencies by following the initial setup steps above. # Final Note # Please remember that OpenAI's API is a paid service, and there is a usage cost per message. Be sure to check your usage to manage costs effectively. If you need help or have questions about the bot, feel free to reach out to me on Discord: ` shayan_. ` You can contact me there for assistance. As far as this post and tool are concerned, I’ve decided to give a part of this project to AI. I wrote the message fully and gave some parts of it to AI to fix and format the tutorial and explanations for me For sure, it’s much more readable than my original text But thanks to AI, our world might be an easier—or scarier—place in close future! # Exact Configuration File # { "discord_bot_token": "Enter your Discord bot token from https://discord.com/developers/applications. Remember to enable intents in the bot configuration.", "openai_api_key": "Enter your OpenAI API key here. Purchase it at https://platform.openai.com/ to use OpenAI models. More details are in the README file.", "discord_link": "Your Discord Server Link Here", "ai_models": [ "gpt-3.5-turbo-16k", "gpt-3.5-turbo", "chatgpt-4o-latest", "gpt-4o-mini", "gpt-4o" ], "time_to_keep_history_conversation_in_secconds": 3600, "handle_attachments (true/false) - Enable this to allow the bot to respond to file uploads or images. Note: This will use more tokens per API request depending on how large the text file is.": "false", "send_bot_response_in_2000_characters_chunks": "true", "allowed_file_extentions": [ "txt", "json", "csv" ], "blacklisted_directories_to_expand": [ "userschat" ], "owner_ids": [ "User IDs listed here will have access to editing mode and avoid rate limits.", "owner_discord_user_id_1", "owner_discord_user_id_2" ], "warning_ids": [ "Warnings about unauthorized access will be sent to these user IDs.", "warning_discord_user_id_1", "warning_discord_user_id_2" ], "warning_channel_ids": [ "Warnings about unauthorized access will be sent to these channels.", "warning_discord_channel_id_1", "warning_discord_channel_id_2" ], "warning_role_ids": [ "Discord role IDs listed here will be tagged in warning channel messages.", "discord_role_to_tag_1", "discord_role_to_tag_2" ], "log_channel_ids": [ "Logs related to file uploads and downloads will be sent to these channels.", "log_discord_channel_id_1", "log_discord_channel_id_2" ], "editingmode_commands": { "enter_editingmode": [ "editingmode", "editmode" ], "listing_command": [ "ls", "list", "files", "avilable" ], "change_dir": [ "cd", "dir", "directory" ], "change_dir_return": [ "..", "back", "return" ], "show_file": [ "view", "show" ], "download_file": [ "download", "get" ], "download_all": [ "all", "everything" ], "edit_file": [ "edit", "change", "replace" ], "append_to_file": [ "append", "addto" ], "new_file": [ "add", "new", "mk" ], "remove_file": [ "remove", "rm", "del" ], "exiting_command": [ "exit", "quit", "deactive", "leave" ], "help_commands": [ "cmd", "help", "command", "commands" ] }, "auto_cleanup": { "Clear the last conversation from the bot prompt if its size exceeds the specified limit in kilobytes (KB). This helps reduce token usage per request and improves efficiency.": 20, "Create_new_conversation_file_if_size_limit_exceeded": "true" }, "file_cleanup": { "file_age_limit_seconds": 727200, "cleanup_interval_seconds - if = 0 it means disable and never clean the users conversation": 43200 }, "chat_history": { "allow_users_to_clearself_history (true/false)": "true", "clear_chat_history_commands": [ "clearhistory", "clean", "clear", "reset" ], "not_allowed_message": "**You dont have permission to clear your chat history it would automatically be reseted every `{time_threshold_secconds}` secconds.**" }, "bot_status": { "status(e.g. online,idle,dnd)": "online", "activity_type(e.g. playing, listening, watching, competing or streaming)": "playing", "activity_text": "AI-Assistant", "activity_url": "https://www.twitch.tv/your_channel - Place a twitch link here if activity type is set to streaming." }, "spam_detection": { "message_limit": 5, "rate_limit_period (in seconds)": 60 }, "Response Temperature": { "Ai_selected_mode(e.g. cold,natural,warm,hot)": "natural", "Ai_promopts_explnation": { "Cold (Low creativity, high precision)": "Respond with factual and precise information, avoiding creative or speculative responses.", "Neutral (Balanced creativity and precision)": "Respond with a balance of creativity and accuracy, adapting tone to fit the context.", "Warm (Higher creativity, moderate precision)": "Respond creatively while maintaining relevance to the topic.", "Hot (Max creativity, low precision)": "Respond with maximum creativity, even if it involves speculative or unconventional ideas." }, "Temperature Value (Optional Override 0.1 to 1.0 (Cant be 0.0 it means disabled temp minimum is 0.1))": 0.0, "Temperature_Value_prompt": "Your selected response temperature has been set to {prompt_temp_value} please resonse the message according to this temprature float number that is between 0.1 and 1 anythings beyond 1.0 is equal to 1.0 low means less creativity and amount of text higher means lots of creativity and explnation", "Set this to false to disable the `no_temp_error` message. Remove Ai_selected_mode and set temperature to 0.0 for a natural AI response.": "true" }, "bot_messages": { "warning_message": "# {role_tags} \n **Warning!** User ID `{user_id}` - tagged as <@{user_id}> tried to access the editing system without permission.", "warning_message_direct": "# **Warning!** User ID `{user_id}` - tagged as <@{user_id}> tried to access the editing system without permission.", "not_owner_message": " You are not an owner to use this command. This action has been reported to the admins to take actions. ", "not_allowed_assistant": "**Assistant is not allowed to assist with the following files: {attachment}. Files like photos, PDFs, or any type of attachments are not assistable due to security reasons. This feature has been disabled by the admins. If you need assistance with something that requires attachments uploading, please contact Admins themselves. You can open a ticket on our Discord server:** \n {discord_link}", "file_upload": "**[`{attachment.filename}`]({attachment.url}) uploaded to `{user_state.current_directory}` by <@{user_id}> (UserID:`{user_id}`)**", "file_download": "**[`{file_name}`]({file_link}) downloaded by <@{user_id}> (UserID: `{user_id}`)**", "limited_use": "<@{user_id}>, you're sending too many messages! Please wait `{time_left}` more seconds before sending another message.", "not_allowed_to_leave": "**You are not allowed to leave this directory! (No other Direcotry with bot access exist please type the command with a directory name after it to switch path)**", "no_temp_error": " No temperature is defined. Please contact the developers about this problem.", "no_valid_defined_prompt": "No response temperature is defined. Response as you like", "normal_users_greeting": "# You are now connected with **Epic-Rust.org AI Assistant**. Feel free to ask any questions about the server! Please note that your conversation with the bot is being saved to improve your experience. Join our [Discord](https://epic-rust.org/discord) | Visit our [Shop](https://epic-rust.org/) | Check out our [Steam Group](https://epic-rust.org/steam)", "normal_users_greeting_clearning_access": "# You are now connected with **Epic-Rust.org AI Assistant**. Feel free to ask any questions about the server! Please note that your conversation with the bot is being saved to improve your experience - If you encounter bot issues or bad responses, simply clear the conversation history using {clear_commands} for a fresh start and more accurate answers. Join our [Discord](https://epic-rust.org/discord) | Visit our [Shop](https://epic-rust.org/) | Check out our [Steam Group](https://epic-rust.org/steam)", "owner_users_greeting": "# Welcome, Admin! You can enter **Editing Mode** by simply typing {formatted_editing_mode_args}. Once inside, use {formatted_Valid_Help_Commands} to view all available commands and options for the bot. ", "how_to_use": "**Available Commands:**\n# 1. **{formatted_change_dir_args} <directoryname> or using {formatted_change_dir_args} {formatted_dir_return_args}**: Change the current directory.\n# 2. **{formatted_listing_args}**: List the contents of the current directory.\n# 3. **{formatted_show_file_args} <filename>**: View the contents of a specific file.\n# 4. **{formatted_download_file_args} <filename>**: Download a specific file.\n# 5. **{formatted_download_file_args} {formatted_download_all_args}**: Download all files in the current directory, 8 files at a time.\n# 6. **{formatted_edit_file_args} <filename>**: Edit the contents of a specific file. You will be prompted to enter the new content for the file.\n# 7. **{formatted_append_to_files_args} <filename>**: Append content to an existing file. You will be prompted to provide the content to append.\n# 8. **{formatted_new_file_args} <filename>**: Create a new file and add content to it. You will be prompted to enter the content for the new file.\n# 9. **{formatted_remove_file_args} <filename>**: Delete a specific file.\n# 10. **{formatted_exit_command_args}**: Exit editing mode if you are in it.\n# For more help, just type {formatted_Valid_Help_Commands} again. Happy exploring!", "bot_cleared_message": "**The bot does not remember the last conversation due to file size limits and long conversation. A new conversation file has been created. Please proceed with your questions again.**" }, "version": "1.0.1", "Created By": "SHAYAN - Discord Id for more support: shayan_. " } Discord ID : SHAYAN_.$38.95-
- #ai
- #discord
-
(and 21 more)
Tagged with:
- #ai
- #discord
- #discord bot
- #discordsupport
- #discordtool
- #tool
- #support
- #assistant
- #bot
- #paid
- #openai
- #python
- #discordassistant
- #discord-assistant
- #community management
- #community
- #automated assistant
- #ai assistant
- #python script
- #admin tools
- #server administration
- #discord administration
- #moderation tools
-
Version 1.0.2
65 downloads
AI Translation plugin is the best powered-AI translation solution for Rust Servers. Enjoy the power of AI by automatically translating all your language files, or the messages exchanged by players in the chat! ALL languages, without exception, are accepted. !! Important: The plugin requires the use of OpenAI's API, which includes fees for each request (see the dedicated section for more details) !! Free Version : A free version (but limited) is available. Easy to Use with Minimal Configuration There is almost no setup required; everything is straightforward to handle. Open AI & Request Costs You need to register for the OpenAI API to retrieve a token. Signing up and getting the token is very simple and takes just a few seconds. Translating language files will only cost a few cents for about a hundred files. It's difficult to quantify the cost of translating chat; expect around $1 for thousands of translated messages (this is a purely theoretical value). Something to consider if your language files are long: It is possible that some files may arrive incomplete. To solve this issue, you need to increase the token limit of your model (in the configuration). The limit depends on the OpenAI model used, but generally, you can go up to 4096. More information on tokens can be found here. Support Available I am available for all your questions, whether it's support here or on Discord (d.0ne_) More information at the bottom of the page. Commands ait.translateplugin <plugin> <lang1> <lang2>: Requires the plugin to have a default language file (in English). Specify all desired languages in ISO639-1 format. Example: "ait.translateplugin MyPlugin fr ru" ait.translateallplugins <lang1> <lang2>: Operates the same way but will do so for all plugins. Permission aitranslationpro.chat.use: permission that allows users to see the translation in the chat OPEN AI API Registration (2mn): 1 - Visit the OpenAI Website: Go to OpenAI's official website. Click on the "API" section in the navigation menu. 2 - Create an Account: If you don’t already have an OpenAI account, you will need to create one. Click on the "Sign Up" button. Fill in your details such as email, name, and password. Follow any additional prompts to complete the registration process. 3 - Verify Your Email: Check your email for a verification link from OpenAI. Click on the link to verify your email address. 4 - Log in to Your OpenAI Account: Once your email is verified, log in to your OpenAI account. Navigate back to the API section. 5 - Apply for API Access: Depending on OpenAI's current policies, you might need to apply for API access. Fill out any required forms or surveys. Submit your application. 6 - Access the API Dashboard: Once approved, you can access the API dashboard. This dashboard is where you can manage your API usage. 7 - Generate an API Token: In the API dashboard, look for an option to create a new API token. Click on "Create Token" or a similar button. Follow the prompts to generate a new token. 8 - Secure Your Token: Once your token is generated, make sure to copy it and store it securely. Never share your API token publicly as it gives access to your OpenAI account.$9.98- 22 comments
- 3 reviews
-
Version 0.1.0
267 downloads
This add-on for the PersonalNPC plugin allows bots to fly to different points on the map. The owner spawns the bot, gets into the helicopter as a passenger, selects a point on the in-game map and the bot starts flying towards it. To use this plugin, you need the main PersonalNPC plugin, and you need to enable the use of this addon in the bot settings. Default configuration: { "Max height above the ground": 25.0, "Minimum height to fly forward/backward": 15.0, "Max slope by forward axis": 0.3, "Pitch strength": 0.2, "Throttle strength": 1.0, "Land throttle strength": 0.5, "YAW strength (rotation around its axis)": 1.0 } Video:$15.00 -
Version 1.1.3
327 downloads
Command for spawn - /spawnrider FEATURES: Setup population, scan radius for rider, e.t.c. in the config If a scientist sees a player, he will be hunted Automatically spawns every 60 seconds at random if the population has not reached the limit P.s - (My Discord - tofurahie#4144) Config: { "Bonus damage to NPCs on horseback": 6.0, "Maximum Riders population": 10, "Kill horse after NPC death": true, "Rider types": [ { "Prefab of NPC": "assets/rust.ai/agents/npcplayer/humannpc/scientist/scientistnpc_full_lr300.prefab", "List of armor for NPC": [ "hazmatsuit" ], "Prefab of Horse": "assets/rust.ai/nextai/testridablehorse.prefab", "Horse armor": "horse.armor.roadsign", "Scan radius for Rider(Find player)": 100 } ] }$12.99- 15 comments
- 3 reviews
-
- 1
-
- #scientist
- #horse
- (and 4 more)
-
Version 0.1.5
23 downloads
Short Description: Makes your guns create entities/explosions/animals wherever your bullet impacts, or freezes/removes entities/NPCs that you hit with your bullet. Configured via commands. Allow players to use certain guns to spawn animals, explosions, or entities wherever their bullet lands. Or maybe freezing entities is up your alley! If you've ever wanted to do the mannequin challenge with NPCs/Entities in Rust, now you can! You freeze almost every entity in the game using a specified, configurable gun. Not interested in freezing entities? How about deleting them from existence because they are bothering you, well, lucky for you this plugin has that too! Anywhere you shoot will have any of the above abilities if you activate them! The plugin automatically unfreezes all entities that were frozen upon unloading the plugin. This is a configurable setting you can disable, however, Cargo will always unfreeze itself the way I have it set up to not cause any issues. Cargo is also currently the only one that freezes itself upon loading the plugin if it was already frozen when unloading it. You can freeze entities with this plugin in your own plugins via calling the methods: GunTypes.Call("MethodName", parameter1, parameter2, parameterX); // EX: GunTypes.Call("CargoFreeze", CargoShip, IPlayer, string, bool); FEATURES: Explosive Gun: MLRS Rocket Incendiary Rocket Satchel Charge F1 Grenade Flash Bang Napalm Fire (the fire that Bradley/Attack Heli drops) Supply Signal Animal Gun: Wolf Bear Polar Bear Boar Chicken Stag Shark NPC Gun: Scarecrow NPC Bandit Camp Scientist/Guard Cargo LR-300 Scientist Cargo MP5 Scientist Underwater Dweller Tunnel Dweller CH47 Chinook Scientist (M249) (cannot move) Outpost Scientist Entity Gun: Scarecrow (entity, the T-Posed object with a hat meant to scare crows) Snowman Christmas Tree Candy Canes Present Zombie Test (Customizable via Config, just put the prefab) Freeze Gun (What it's able to Freeze) Cargo Attack Heli Bradley Chinook/CH47 All Vehicles (Mini Copter, Car (Modular Cars), Sedan, Rhib, Tugboat, Rowboat, Paddle Boat, Subs, Scarp Heli, Trains/Workcarts, Snowmobiles, Ridable Horse) Animals ALL AI (Scientists, Underwater Dwellers, NPCMissionProviders, Etc.) Traps (Landmines, Bear Traps, Gun Traps) Auto Turrets/Flame Turrets (Safezone turrets and regular ones) Sam Sites (Safezone Sam Sites and regular ones) Conveyors Doors Hackable Crate StorageContainers Remove Gun (What its able to Remove) Everything that is Interactable. Abandoned Military Base (Basically all of the monument can be removed for whatever reason, only things that will remain are the entrances and outlined portion of the monument where the ground is raised) PLANNED FEATURES: Car Gun (What its able to shoot) Rhib Attack Helicopter (new one, not patrol heli) Chinook Sedan Minicopter Tugboat Tomaha Solo Sub Modular 4 Car Modular 2 Car Video Examples: Note: The SPAS12 video used 4x the explosive amount per pellet. More Videos to come! EXAMPLE OF CAR GUN (NOT IN PLUGIN YET This is also a slightly older implementation, and has now been slowed down to prevent as much clipping into the ground/through objects. Permissions: guntypes.gun - Allows user to use the /gun command. guntypes.setgun - Allows user to use the /gun set command. guntypes.animal - Allows user to use the /gun animal command. guntypes.explosive - Allows user to use the /gun explosive command. guntypes.entity - Allows user to use the /gun entity command. guntypes.remove - Allows user to use the /gun remove command. guntypes.freeze - Allows user to use the /gun freeze command. guntypes.npc - Allows uers to use the /gun npc command. Any other permission you see DO NOT USE OR ACTIVE YOURSELF they are for internal plugin use. You SHOULD NOT attempt to give a user ALL permissions when giving permissions to a user. Give them manually. Chat Commands: Note: Turning on any of the gun modes via their direct name (i.e: animal, entity, etc.) will also effectively do `/gun on` for you. /gun off - Disables gun mode in general to prevent use of any of the types below. /gun on - Activates gun mode in general to allow use of any of the types below. /gun animal - Activates animal gun mode. /gun explosive - Activates explosive gun mode. /gun entity - Activates animal gun mode. /gun freeze - Activates animal gun mode. /gun remove - Activates animal gun mode. Use Shortnames to change the gun type, or their defining part of their name. EX: for "pistol_revolver", do "revolver". /gun set animal wolf - Sets your current held gun to the wolf gun. /gun set explosive mlrs m249 - Sets the M249 to the MLRS gun. /gun set freeze - Sets your current held gun to the freeze gun. (only 1 freeze type so no type specification required) /gun set remove pistol_revolver - Sets revolver to the remove gun. (only 1 remove type so no type specification required) /gun spawnfrozen on - Sets NPCs and Animals to spawn frozen. /gun spawn frozen on - Sets NPCs and Animals to spawn frozen. Lots of QoL allowances for freeze AoE commands. /gun set freeze aoe on - Sets freeze AoE (radius) on. /gun freeze aoe on - Sets freeze AoE (radius) on. /gun set freeze aoe 12 - Sets freeze AoE (radius) to 12m. /gun freeze aoe 12 - Sets freeze AoE (radius) to 12m. Note/Be Aware: A gun that is used multiple times in the same gun type will only allow for 1 of the specified events to occur. EX: using explosive gun and having M249 set to both C4 and MLRS will only allow either C4 or MLRS to happen, not both. You will need to manually set the other M249 value to something other than the M249 value for the type you're not attempting to use. Meaning if you are trying to use C4 and NOT MLRS, then set MLRS to something other than the C4 value. You can now change your guns without affecting other users guns! Note 2: You setting the gun for yourself also sets it for ALL other players who are using the plugin. My goal is to eventually change this to individual gun settings for each user, but current implementation does not allow for it yet. Config: { "The command you type in to use the plugin": "gun", "Color/Hex for Syntax in Lang": "#ff3d3d", "Color/Hex for Commands in Syntax in Lang": "orange", "Color/Hex for 'Animal Gun' in Lang when calling the Gun Types commands": "#30D5C8", "Color/Hex for 'Explosive Gun' in Lang when calling the Gun Types commands": "orange", "Color/Hex for 'Entity Gun' in Lang when calling the Gun Types commands": "purple", "Color/Hex for 'Remove Gun' in Lang when calling the Gun Types commands": "#ff3d3d", "Color/Hex for 'Freeze Gun' in Lang when calling the Gun Types commands": "#30D5C8", "Color/Hex for 'NPC Gun' in Lang when calling the Gun Types commands": "#cf1d40", "Color/Hex for 'Activated' in Lang when calling the Gun Types commands": "green", "Color/Hex for 'Deactivated' in Lang when calling the Gun Types commands": "red", "The Color/Hex of the attempted entity/gun in the response for successful/failed gun setting": "orange", "The Color/Hex of the attempted spawn type in the response for successful/failed gun setting": "#40E0D0", "The test entity spawned using the entity gun": "assets/content/structures/interactive_garage_door/sliding_blast_door.prefab", "Unfreeze ALL frozen entities upon unloading (Excluding Cargo, it will automatically unfreeze).": true, "Freeze AoE (radius) Effect Enabled for ALL user with freeze permission (if set to false, no one can use AoE. If enabled, allows AoE Freeze)": true, "Max AoE (radius) a user is allowed to set for AoE freezing": 350, "Spawn tamable animals": true, "Spawn animals already tamed by the user who shot the gun": true } Credits: bmgjet - Thanks to bmgjet for allowing me to use code that they had made to get the closest cargo node, and also informing me on a way to freeze cargo!$9.99 -
Version 0.0.3
125 downloads
This plugin equips personal bots with intelligence for driving cars. All you need to do is sit in the passenger seat and set the destination point on the map. In the config, you can change the maximum speed, the maximum number of crossways for the search engine, disable the obstacle detection system (beta) and change some other settings. Don't forget to enable the ability to drive vehicles in the PersonalNPC configuration. Video demonstration: { "Permission to use this addon on all bots of player (not required)": "pnpcaddoncar.override-setup", "Search Mechanism settings": { "Max crossways amount for search method (0-2)": 2 }, "Driver settings": { "Max speed": 15.0 }, "Obstacle detection settings": { "Disable obstacle detection?": false, "Ray length": 5.0 }, "Minor settings": { "Enable visual debug?": false } }$15.00 -
Version 1.0.1
60 downloads
For developers to integrate OpenAI endpoints into their plugins. Features API Key Verification: Automatically verifies the provided OpenAI API key. Chat Commands: Provides in-game commands for administrators to interact with the OpenAI API. Model Listing: Fetches and lists available models from OpenAI. Chat Completions: Handles chat-based interactions with OpenAI's language models. Configuration { "DefaultAssistantModel": { "max_completion_tokens": 150, "max_prompt_tokens": 150, "Model": "gpt-4o" }, "DefaultCompletionsModel": { "MaxTokens": 150, "Model": "gpt-4o" }, "OpenAI_Api_Key": { "OpenAI API Key": "your-api-key-here" } } Commands /openaitest Tests the connection to the OpenAI API using a predefined message. Only available to administrators. /listmodels Fetches and lists all available models from the OpenAI API. Only available to administrators. Public Methods There are two main API interactions through the completions and the assistant API. Completions_SimpleChat Example of Completions_SimpleChat - Creates a simple chat interaction with OpenAI. private void AskGptCommand(BasePlayer player, string command, string[] args) { if (!permission.UserHasPermission(player.UserIDString, "RustGPT.chat")) { player.ChatMessage("<color=#ff0000>You do not have permission to use this command.</color>"); return; } if (args.Length == 0) { player.ChatMessage("Usage: /askgpt <your question>"); return; } if (!HasCooldownElapsed(player)) { return; } var userMessage = string.Join(" ", args); var messages = new List<object> { new { role = "system", content = _config.DefaultContent }, new { role = "user", content = userMessage } }; player.ChatMessage("Sending your message to OpenAI..."); OpenAI?.Call("Completions_SimpleChat", messages, (System.Action<JObject>)((response) => { if (response != null && response["choices"] != null && response["choices"].HasValues) { string GPT_Chat_Reply = response["choices"][0]["message"]["content"].ToString().Trim(); if (GPT_Chat_Reply.Length > 1200) { CreateNotesForResponse(player, GPT_Chat_Reply); } else { SendChatMessageInChunks(player, $"<color={_config.ReplyPrefixColor}>{_config.ReplyPrefix}</color> {GPT_Chat_Reply}", 250); } } else { player.ChatMessage("<color=#ff0000>Failed to get a valid response from OpenAI. Please try again later.</color>"); } })); } Assistant_CreateAssistant [HookMethod("Assistant_CreateAssistant")] public void Assistant_CreateAssistant(string name = null, string description = null, string instructions = null, List<object> tools = null, object toolResources = null, Dictionary<string, string> metadata = null, double? temperature = null, double? topP = null, object responseFormat = null, Action<JObject> callback = null) Example: var openAIPlugin = (OpenAI)plugins.Find("OpenAI"); openAIPlugin.Assistant_CreateAssistant("MyAssistant", "An assistant for my game", "You are a helpful assistant.", null, null, null, null, null, null, response => { if (response != null) { Puts("Assistant created successfully: " + response.ToString()); } else { Puts("Failed to create assistant."); } }); Assistant_CreateVectorStore Example use of Assistant_CreateVectorStore to save chat interactions in the OpenAI platform using the Assistants API. var openAIPlugin = (OpenAI)plugins.Find("OpenAI"); List<string> fileIds = new List<string>(); // Initially, no file IDs string name = "OpenAIChatHistory"; object expiresAfter = DateTime.UtcNow.AddDays(30); // Expires after 30 days object chunkingStrategy = null; // Define your chunking strategy if any Dictionary<string, string> metadata = new Dictionary<string, string> { { "game", "Rust" }, { "description", "Vector store for storing chat interactions with OpenAI" } }; openAIPlugin.Assistant_CreateVectorStore(fileIds, name, expiresAfter, chunkingStrategy, metadata, response => { if (response != null) { Puts("Vector store created successfully: " + response.ToString()); } else { Puts("Failed to create vector store."); } }); Pubic Methods FetchModels Completions_CreateChat Completions_SimpleChat Assistant_CreateAssistant CreateThread RetrieveThread ModifyThread DeleteThread Assistant_CreateMessage Assistant_ListMessages Assistant_RetrieveMessage Assistant_ModifyMessage Assistant_DeleteMessage Assistant_CreateRun Assistant_CreateThreadAndRun Assistant_ListRuns Assistant_RetrieveRun Assistant_ModifyRun Assistant_CancelRun Assistant_ListRunSteps Assistant_RetrieveRunStep Assistant_CreateVectorStore Assistant_ListVectorStores Assistant_RetrieveVectorStore Assistant_ModifyVectorStore Assistant_DeleteVectorStore Assistant_SubmitToolOutput All of these interactions are built using the OpenAI platform as a scaffold. Using the OpenAI documentation you can see response examples for all of the available methods. https://platform.openai.com/docs/api-reference/introductionFree -
Version 1.1.0
46 downloads
HOW TO ADD A TRACK? If you have already created your own track file, skip the first 3 steps. To add a new track, it’s very easy, follow the steps below: 1° Have the midi file (.mid) you want to add ready. 2° Goto the https://npcbands.vercel.app 3° Upload your file and click in the DOWNLOAD button 4° Move the downloaded file to oxide/data/NPCBands/Notes/ Now, the track name to add to the configuration file will be the file name without the .json extension. AVAILABLE INSTRUMENTS Guitar Trumpet Flute Sousaphone Canbourine Jerry Can Guitar Shovel Bass Piano Drumkit Xylophone FEATURES ▪ Create multiple bands ▪ Clean music controls UI ▪ Spawn unlimited bands ▪ Create a song-notes filter for each NPC ▪ Add custom clothing for each NPC ▪ Use of deployable instruments ▪ Fully customizable UI ▪ 2 band-mode (automatic and proximity) ▪ Unlimited NPCs for the same band ▪ All NPCs will play the notes that the instrument allows (can be filtered) ▪ Interval between songs ▪ Permission to use controls ▪ High performance, no server lag ▪ Option to force immediate stop ▪ Easily convert your midi files using the npcbands website ▪ 1 file for each track to avoid a large configuration/data file ▪ Delete all bands automatically when clearing the map ▪ Destroy all NPCs automatically when unloading the plugin ▪ Delete all NPCs on the plugin load in case of possible server crash ▪ Custom chat command ▪ Custom band radius ▪ Notifies you when you enter the band area COMMANDS /npcbands spawn <band_key> to spawn a new band /npcbands remove <band_id> to remove an existing band /npcbands list [page] to list all existing bands PERMISSIONS npcbands.admin - Permission for chat commands & music control npcbands.control - Permission for the music control only CONFIGURATION FILE NPCBands.json$20.00- 30 comments
- 3 reviews
-
- 4
-
- #bands
- #npc bands
- (and 13 more)
-
Version 0.0.1
166 downloads
This is a free version of the AITranslation plugin. It enables you to translate all the language files of your plugins into any desired language with a simple command. Limited Features in Free Version In this version, features are limited, and you only have access to file translations. Visit the AITranslation Pro page if you wish to obtain the version without limitations. Commands: ait.translateplugin <plugin name> <lang>: If the plugin has a default language file (in English), a translated version in the desired language will be created. (For lang, use the ISO639-1 format) The PRO version allows translating into multiple languages with a single command and translating ALL your plugins with one command. AITranslation PRO Version:Free- 4 comments
-
Version 2021.12.07
5 downloads
The prefab is currently compatible for the current gamemode(s): Hide&Seek (I recommend playing it at night for more fun!) . . . If you buy this product before end of the year (2021), you will get the following products & prefabs for FREE: Combat Mania [PvP] ~Collection One~ Combat Mania [CTF] ~Collection One~ Combat Mania [Monument] ~Collection One~ MBASE1 MBASE2 MBASE4 MBASE5 MBASE6 MBASE7 MBASE8 MBASE9 MBASE10 MBASETOWER . . . CCTV ID: COBALT2923 - Location: (46.3, 18.7, -73.2) ID: COBALT5683 - Location: (49.7, 15.4, -96.6) ID: COBALT7666 - Location: (60.6, 15.7, -122.8) ID: COBALT7743 - Location: (90.1, 12.2, -83.9) ID: COBALT8239 - Location: (42.1, 21.5, -7.3) ID: COBALT2070 - Location: (89.0, 42.0, 39.2) ID: COBALT1350 - Location: (131.1, 21.6, -38.0) Combat Mania [H&S] ~Collection One~ [758] Drag & Drop --------------------------------------------------------------------------------------- Primary screenshot by https://codefling.com/disguise Where the journey begins -Ventura Designs- Discord CCTV_IDs.txt$30.00-
- #ventura designs
- #disguise
- (and 23 more)
-
Version 2021.09.15
15 downloads
Electricity 2x Green Security Door 3x Blue Security Door 1x Red Security Door 2x Fuse - Loot 1x Toolbox 2x Oil Barrel 2x Junk Barrel 3x Food Crate 6x Yellow Crate 3x Military Crate 2x Elite Crate 1x Hackable Crate - AI 7x Patrol Scientists (You can change the AI types) - CCTV I. SSENTRANCE II. SSCAFETERIA III. SSXAEA12 IV. SSSTORAGE V. SSARMORY Space Station - Empty [2053] Space Station - No Scientists [2260] Space Station - Scientists [2278] Drag & Drop (You can place the monument at any height, tutorial in readme.txt) ---------------------------------------------------------------------------------------------------------------- Primary screenshot by https://codefling.com/raul-sorin-sorban$4.99