Powerful software for playing games through text, supporting remote connectivity through services such as Twitch.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Kimimaru 0b7ef5e400 Merge branch 'develop' 2 months ago
Controller Configs Rewrote the uinput virtual controllers in libevdev 2 months ago
Logo Added promo logos and updated the wiki 9 months ago
Supplementary Added a simple example program to set up a WebSocket that interacts with TRBot 2 months ago
TRBot Fixed commented log in VJoyController 2 months ago
Wiki Completely fixed virtual controller axis handling, and added a DefaultAxisVal in InputData 2 months ago
.gitignore Added more files to .gitignore 2 months ago
.gitmodules Added LibreTranslate integration 4 months ago
Dependency Licenses Added LiveSplitOne integration and a new TRBot.Integrations project 6 months ago
LICENSE Added AGPL-3.0 License 2 years ago
README.md Added documentation on custom routines 3 months ago
build.bat Added build batch script and updated build instructions 3 months ago
build.sh Updated documentation regarding Twitch connection and PC games 3 months ago

README.md

TRBot TRBot

TRBot is software that enables playing video games through text. In simple terms, if you type "a", the character in your game can jump.

TRBot contains a comprehensive set of projects to facilitate text-based gameplay, some of which allow for setting up and managing community-oriented remote play, including Twitch Plays. The goal of TRBot is to lower the barrier of entry for text-based gameplay and provide avenues to improve the experience.

TRBot is inspired by the bot used on the TwitchPlays_Everything channel. The input syntax allows for great precision, making it well-suited for many types of games, whether it's an RPG or a 3D platformer. You can use TRBot for many purposes, including collaborative remote play and automating tedious tasks, such as mashing buttons or grinding levels in an RPG.

The core application, TRBot.Main, connects all the projects of TRBot together to form a fully functional bot with input handling, commands, and more! You can use it as-is or build your own application around the projects.

Documentation, setup, building from source, playing

Features

  • Simple yet expressive input syntax - translate your text to game inputs easily. Make your inputs as simple or precise as you want!
  • Portable and game-agnostic - just download and run! TRBot runs alongside your game and has great compatibility.
  • Cross-platform - Runs on Windows (vJoy) and GNU/Linux (uinput).
  • Virtual gamepads - Use analog inputs for precision and set custom button mappings in games to play how you prefer.
  • Run locally, through Twitch, or connect to a WebSocket of choice. TRBot is also set up for integrating other services.
  • Emulator support - NES, SNES, N64, GCN, and more. Several emulator controller config files are available.
  • Multiplayer support - Control multiple players separately or simultaneously.
  • Sleep prevention - prevent games and consoles from going to sleep with a periodic input and interval of your choosing.
  • Reset prevention - forbid players from hitting button combos to reset the game.
  • Highly performant input handling with near frame-perfect inputs. Play with precision and consistency.
  • Flexible "console" infrastructure - change inputs, add new inputs, or even add a new console with a different set of inputs, on the fly.
  • Twitch Plays quality-of-life enhancements - macros, game logs, user silencing (without timeout/ban), stop all ongoing inputs, and switch consoles readily.
  • Pluggable virtual controller architecture - add your own virtual controller implementation to support more platforms.
  • Modular - TRBot is separated into parts, allowing those parts to be used as libraries.
  • Commands - Interact with and manipulate TRBot through commands entered as text. Add your own commands and your own routines to extend TRBot's capabilities, even while it's running!
  • SQLite database to manage access levels, commands, virtual controllers, and more. Data changes are immediately reflected in TRBot.
  • Moderation features - control access to commands, inputs, and other features independent of platform.
  • Additional goodies and games - duel for credits, create memes, calculate expressions, and talk to a chatbot.

Credits

The original parser was written in Python by TwitchPlays_Everything and greatly helped jump-start TRBot's development.

TRBot's logo was designed by the talented David Revoy, well-known for his Pepper & Carrot comic series.

License

Copyright © 2019-2021 Thomas "Kimimaru" Deeb

AGPL

TRBot is free software; you are free to run, study, modify, and redistribute it. Specifically, you can modify and/or redistribute TRBot under the terms of the GNU Affero General Public License v3.0.

In simple terms, if you give someone a copy of TRBot or deploy TRBot to an online service, you must provide a way to obtain the license and source code for that version of TRBot upon request. This includes modified versions of TRBot.

See the LICENSE file for the full terms. See the Dependency Licenses file for the licenses of third party libraries used by TRBot. See the logo license file for the license of TRBot's logo.

Attribution Banner

If you have found TRBot useful, please spread the word by placing one of our promo banners on your website, blog, video, or Twitch stream panel!

Link to large banner

  • Markdown code:
    ![Powered by TRBot](https://codeberg.org/kimimaru/TRBot/raw/branch/master/Logo/TRBotLogo_Promo.png "TRBot Logo")
    

Link to small banner

  • Markdown code:
    ![Powered by TRBot](https://codeberg.org/kimimaru/TRBot/raw/branch/master/Logo/TRBotLogo_Promo_Small.png "TRBot Logo")
    

Contributing

Our main repository is on Codeberg: https://codeberg.org/kimimaru/TRBot.git

Issues and pull requests are greatly encouraged! Please file an issue if you encounter any bugs or have a feature request.

Support

Feel free to ask questions or discuss development on our Matrix room at #TRBot-Dev:matrix.org. You can also [contact us](mailto:trbot (at) posteo (dot) de) for support. Paid setup and support options are also available.

Developing software takes considerable time and effort, and we have poured hundreds of hours of our spare time into making TRBot as powerful and feature-rich as it is and freely available to everyone. Kindly consider buying us a coffee or donating.