Git Product home page Git Product logo

bloodbot's Introduction

Bloodbot

One of my old projects from 2019 when I was playing MMORPG Albion Online. Used mainly by my guild and alliance. It was a bot that would send notifications to a discord server when a guild member killed someone, died, or participated in a fight. (with generated images of gear and statistics) The application used a public API that is undocumented. I found out how to use it with debug tools from chrome and watched what requests the page was sending.

The principle of the application was simple, one instance of the blood-bot-webhook bot, checked at regular intervals changes in the REST API, in the event of detecting new events, sent to publishers using RabbitMQ, which had the role of a load balancer in this project . A few instances of publishers were there to avoid webhook limits on discord. I provide the code, because it may be useful to someone, because I am not currently developing it myself.

This bot is fully configurable via discord commands. You can translate it into any language, just add the translated file with country code in the translation folder. You can create this folder or it will be automatically generated by the bot during startup, along with the default English translation and configuration. In the configuration you will have to fill in things like API Key Discord, default language, you can also change refresh times etc. The repository also includes the bot's translation into Polish.

Topics covered in the project

  • REST API
  • Message queue (RabbitMQ)
  • Discord API
  • Webhook
  • I19n
  • Web Crawling
  • Image Generation
  • Log rotation

Screenshots

  • Setting up - the setup was quite simple intuitive, you can watch the kills by player name, guild or alliance. Then through reactions you can control the rest of the process and only display deaths, kills and from a certain fame level.

Setting up

  • Kill - message with the player's inventory, green in color.

Kill

  • Death - message with the player's inventory, green in red.

Death

  • Battle - messgae with battle and links to the participating guilds and alliances. It had a picture in the corner with the number of players that was visible, with various programs.
    • 4+ player with light green color
    • 10+ player with green color
    • 20+ player with yellow
    • 50+ player with orange
    • 100+ player with red

Battle

  • Commands - list of avaliable commands

Commands

bloodbot's People

Contributors

zbutwialypiernik avatar

Stargazers

 avatar Nikolay Bochev avatar

Watchers

 avatar

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.