Giter Club home page Giter Club logo

pyre-bot's People

Contributors

dependabot-preview[bot] avatar infernalplacebo avatar superrayss avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

pyre-bot's Issues

[BUG] Discord bot does not verify the existence of an item or equipment before passing on give_item or give_equip

Since it doesn't verify the existence of the item or equip, it passes along a command which features (none) items or equips if given an argument that doesn't match anything in the game. The solution for this is to add dictionaries for items and equips that can be referenced. Keep in mind that DebugToolkit, which is the plugin that handles the give_item and give_equip commands, has autocomplete, i.e. you can say the item name is "shield" and it will know you meant to give the "PersonalShield" item and carry that out.

At the very least, the bot could wait for the server output, because if it doesn't find the item or equip it will give this as part of the output:
[Info : Unity Log] The requested object could not be found:

We could set that up the same way we set up the chat command to inform the sender on Discord that the item / equip is not found and to try again, and not passing the command to botcmd.txt.

Also add a dictionary for stages so that their "real" names can be referenced rather than their dev names (see: https://github.com/risk-of-thunder/R2Wiki/wiki/List-of-scene-names)

[REQUEST] Allow single bot instance to control multiple servers

Is your feature request related to a problem? Please describe.
Running multiple bot instances is excessive

Describe the solution you'd like
Single bot for several servers

Describe alternatives you've considered
Using the current channel dictionary, determine which bot is being used

Roadmap for new branch "cloud"

This branch is for developing a singular version of the bot, one that only requires one instance to control multiple servers. This requires the bot to read from server log files in a central directory for output to discord, as well as for the servers to read commands to ingest. Previously, each bot had its own installation, and had to be located on the same machine as the server, in order to read and write to the necessary files.

As of now, we have seq working to ingest logs from all servers simultaneously, filter out irrelevant events, and forward the resulting events to logs stored in centralized directory that can be (theoretically) read by one bot instance. I want to explore putting additional tags to the logs that signify to the bot which server wrote it, rather than the file name prefix notation I'm using now (which requires 1 log file per server).

The major challenge from this point is how to ingest commands to the game servers using our database system. I know that taking commands from discord and outputting them to another service with the Python bot is easy, and I just need to move that to its own feed, but how we go about having the server read from that feed is what we have to figure out now.

[REQUEST] Log players overall activity on the Risk of Rain 2 server

Access the player.duration variable in players.py, any time a player connects / disconnects (detected by the server log output already), add the duration of their time spent to a log that is tracked across sessions and can be output to the discord.

In the future, be able to assign Steam players to their Discord IDs so they can track their own stats. Can be expanded to things like runs cleared, times joined, etc.

Possible issue I forsee: May not be able to retrieve player.duration if the player just disconnected. Will have to test this out. If this is a problem, you could just compare the real time at which they joined to the real time at which they left to get their stay duration, instead of using player.duration.

[BUG] Duplicate chat after reload

Describe the bug
When using the reload commands, autochat gets duplicated

To Reproduce
Steps to reproduce the behavior:

  1. Use >reload on the bot

Expected behavior
The bot will only output the chat once.

[REQUEST] Command to stop server on lobby, notify admin

Create an admin command which signals to the bot that next time the respective server hits the lobby, pass the "disconnect" cmd to the game server to shut it down and ping the admin user who used this command. I want this because I'm constantly checking to see which servers are in lobby when I want to shut down a server to update a plugin or something else. This would make it so I don't have to monitor them manually.

[REQUEST] Update setup script

Is your feature request related to a problem? Please describe.

  • The setup script sources an old version of BotCommands, please have it grab the latest at any given time
  • Allow setup script to read server configuration to set port automatically
  • Allow setup script to read IP to setup server address automatically
  • Rename server_config to match server.cfg

[REQUEST] Disable stat tracking by default

Change stat tracking to disabled by default

Before this is completed the following must be done:

  • Disable stat tracking by default
  • Create config entries to enable or disable
  • Update documentation to reflect stat tracking
  • Update setup script to configure AWS credentials and create tables to ease setup

[REQUEST] Add update command

Is your feature request related to a problem? Please describe.
Create update command for admins that actually updates the server.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.