Search the Community
Showing results for tags 'python'.
-
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.33
1 download
Encourage your players to submit suggestions in an organized and efficient manner using our powerful, intuitive bot. This bot offers several features designed to create a smooth suggestions process and enhance player engagement. Features Threads are automatically attached to each suggestion, allowing players and staff to discuss the suggestion in detail. Once a decision is made (approval or denial), the thread is locked for a set period (configured in the settings), after which it is deleted. User stats track the number of suggestions made and the number that were approved or denied. Admins can approve or deny suggestions directly using /approve or /deny commands. The suggestions channel remains clean and organized, with no one able to post messages directly, though conversation can still occur in the threads until they are locked. Once a decision is finalized, the user who made the suggestion is tagged in the thread so they are informed of the outcome. More features are planned for future updates! This setup will help keep the suggestion process neat and engaging while ensuring transparency and easy communication between players and staff. Commands /suggest <suggestion> - Make a suggestion /approve <suggestion_id> - Approves a suggestion by ID /deny <suggestion_id> - Denies a suggestion by ID Installation Guide Python 3.10 - This is a self hosted bot. We do not host this bot for you. You must be comfortable editing json files, and you should know how to make a Discord bot. General basic discord bot self hosting knowledge required. If setting up through Pterodactyl, or some type of hosting panel, make sure that you change the ingest file from `app.py` to `main.py`.$5.99-
- #discord bot
- #discord
-
(and 21 more)
Tagged with:
-
Version 1.0.3
17 downloads
Are you tired of having to change configurations and plugins manually on multiple Rust servers that run the same configurations? (eg. a mirrored US and EU version of your server) Then this is just what you are looking for! Introducing RustSyncBot—your ultimate solution for seamless server synchronization. Designed with ease of use in mind, RustSyncBot is an easy-to-install Pterodactyl egg that effortlessly keeps your game servers in sync across multiple machines. Whether you're running a network of Rust servers or any other setup requiring consistency across servers, RustSyncBot is here to simplify your workflow. With RustSyncBot, you can easily specify the directories and files that need to be mirrored from a main server to one or more secondary servers. The bot’s robust configuration options allow you to manage multiple pairs of servers, ensuring your server network stays perfectly synchronized at all times. Key Features: Easy Installation: Install and set up within minutes with our user-friendly Pterodactyl egg. Seamless Synchronization: Automatically sync specified directories and files from your main server to secondary servers. Multi-Server Management: Configure multiple server pairs to maintain consistency across your entire server setup. Efficiency Boost: Streamline your server management, making it easier than ever to run the same server setup across multiple servers. RustSyncBot takes the hassle out of server synchronization, letting you focus on what matters most—delivering an exceptional gaming experience to your community. Tested and working with "BotReaper Python Discord Bot" node. You just need to modify the "APP PY FILE" to be "main.py" instead of "app.py" Pterodactyl is NOT needed, you can run this bot through normal python on any server or even windows machine with python installed! Installation Instructions: How to install: 1. Create a new server using the provided egg called "egg-rust-sync-bot.json". 2. Upload the "rustsyncbot.zip" archive to the server's Files section. Once uploaded, you can unzip the file or trigger a reinstall in the server's Settings section. 3. Navigate to the Files section and modify the .env file if you would like to change the sync time (default 120 seconds) (do not set it too low, as then you will have alot of network requests often, test and set to your needs) 4. Navigate to the config directory and look through the "example.yaml" file, you will need to setup your configuration files to connect to your servers, specify what files/folders you would like to sync (I recommend using https://yamlchecker.com/ OR https://jsonformatter.org/yaml-formatter/ to verify that your syntax is correct) 5. Start the server. All dependencies will be installed on startup, and bot will automatically start. (The bot will ONLY copy files that have a newer modified date from server_1 over to server_2. so make sure your files are the latest version on server_1) 6. Leave server running, bot will recheck files based on the SYNC_INTERVAL you have set in the .env file NOTE: All directories/files are RELATIVE to the starting location of your SFTP login. this means that you should NOT put /home/container/ before each of your folder/file locations I have made a tool to help with generating the correct information for the configuration. It can be found at: https://rustsync.rustvideo.com/ Sample Configuration: # MAIN server server_1_name: Server 1 Display Name server_1_url: ip:port # eg 192.168.1.1:2022 using sftp://domain.com:2022 "should" work also server_1_user: username.shortcode server_1_pass: panelpassword server_1_sftp: True # do not change, for future functionality # SECONDARY server server_2_name: Server 2 Display Name server_2_url: ip:port # eg 192.168.1.1:2022 using sftp://domain.com:2022 "should" work also server_2_user: username.shortcode server_2_pass: panelpassword server_2_sftp: True # do not change, for future functionality # directories for the bot to keep in sync CASE SENSITIVE # directories are listed as key/pair. where the key is the directory on the main server, and value is the directory # on the secondary server eg. # oxide/plugins: carbon/plugins # # will sync the directory of oxide/plugins on server_1 to the carbon/plugins directory on server_2 # you can use trailing slashes and preceding slashes. eg. # /oxide/plugins , /oxide/plugins/, and oxide/plugins are all valid options # CASE SENSITIVE directories_to_sync: oxide/plugins: oxide/plugins oxide/config: oxide/configs oxide/data/copypaste: oxide/data/copypaste # files for the bot to keep in sync CASE SENSITIVE # files are listed as key/pair. where the key is the location on the main server, and value is the location on the secondary server # eg. # oxide/plugins/ZoneManager.cs carbon/plugins/ZoneManager.cs # # will sync the individual file of "oxide/plugins/ZoneManager.cs" on server_1 to the location of "carbon/plugins/ZoneManager.cs" on server_2 # CASE SENSITIVE files_to_sync: steam_appid.txt: steam_appid.txt # directories for the sync bot to ignore, it will ignore these directories if the path is found within the sync, eg, if you are syncing carbon/data, it will # ignore the following # - carbon/data/AdminMenu # CASE SENSITIVE directories_to_ignore: - carbon/data/AdminMenu - carbon/data/Shop - carbon/data/Backpacks # files for the sync bot to ignore, it will ignore these files if the path is found within the sync, eg, if you are syncing carbon/config, it will # ignore the following # - carbon/configs/AbandonedBases.json # CASE SENSITIVE files_to_ignore: - carbon/configs/AbandonedBases.json - carbon/configs/RaidableBases.json$12.00- 2 comments
- 2 reviews
-
- 1
-
- #sync
- #pterodactyl egg
-
(and 7 more)
Tagged with:
-
Version 1.1.1
68 downloads
Calculates the probability of your AlphaLoot tables How to Use 1. Drop your AlphaLoot table such as default_loottable.json into the project directory 2. Open the config and adjust the loot_files to include all loot tables you've inserted 3. Run by using `py main.py` Default config: { "loot_files": [ "default_loottable.json", "default_heli_loottable.json", "default_bradley_loottable.json" ], "output_min_max_condition": true, "output_min_max_amount": true, "round_percentages": false } output_min_max_condition - Outputs the min/max conditions of any items that have a condition applied output_min_max_amount - Outputs the min/max amount of the item Aggregrated Probability The complete total probablity for an item without factoring in additional subdefinitions and multiple items "rope": 22 Regular Probability The probability of items with separation of subdefinitions "rope,sewing kits": 11 "rope,metal pipes": 11 Rounding Percentages round_percentages flag set to true will run through the output file before completing its cycle and round to the nearest .5 13.71 > 13.5 13.76 > 14Free -
Version 2.00
21 downloads
This bot will make all the users of your community understand each other in Discord: English, Spanish, Portuguese, French, Italian…? Everyone will be able to understand each other thanks to this discord bot. You just must create 1 channel for each language, when a user speaks in for example: “Spanish Chat” it will be translated to 2 more languages, for example “English Chat” and “Portuguese Chat”. The bot is made in Python and has only been tested in version 3.9. The bot comes by default configured for 3 channels of different languages. If you have the minimum knowledge, you will be able to set more or less languages. CONFIG: - `YOUR_LANGUAGE_1_CHANNEL_ID` = 123 # Replace 123 with the Discord Channel ID from language 1 channel. - `YOUR_LANGUAGE_2_CHANNEL_ID` = 456 # Replace 456 with the Discord Channel ID from language 2 channel. - `YOUR_LANGUAGE_3_CHANNEL_ID` = 789 # Replace 789 with the Discord Channel ID from language 3 channel. - `LANGUAGE_1` = '1', # Replace 1 with the Language code from the language 1 channel. - `LANGUAGE_2` = '2', # Replace 2 with the Language code from the language 2 channel. - `LANGUAGE_3` = '3', # Replace 3 with the Language code from the language 3 channel,. - `AVATAR_ALTERNATIVE_URL` = 'https://cdn.discordapp.com/attachments/811270859662688299/1141027184564256888/logo.jpg' # Replace this url with the url of the avatar that will have users without avatar on discord. Do you need help? You can talk with me through my discord: https://discord.gg/D3kvkUrb7z A PREVIEW? Of course:$7.00- 3 reviews
-
- #discordbot
- #discord bot
-
(and 2 more)
Tagged with: