Code Monkey home page Code Monkey logo

pogo.discordbot's Introduction

Discord Bot for players of the Pokemon Go

Docker

Discord BOT focused on internal communication within players of the Pokemon Go

  • Set team & level as role
  • Plan a raid or ex-raid
    • Set raid boss, location and scheduled time. React with ๐Ÿ‘/๐Ÿšท/๐Ÿค that you will attend and raid poll message will refresh itself
    • In case that amount of players is too high, it will split up players per team so you can create multiple raid lobbies for extra balls.
    • Do you have two devices or somebody is not on the Discord yet? You can add 1๏ธโƒฃ, 2๏ธโƒฃ etc. raid poll preview
  • Scheduled raid polls (MewTwo, Community Days etc.)
  • Statistics about players
  • Gym GPS locations
  • Raid boss counters
  • Just type !help and you will see all the commands/features

How to run

Currently the bot is operating in multiple Czech cities using only one server. The bot's requirements are so low that it's waste to manage dedicated server only for bot.

From monitoring the bot uses less than 100MB of RAM and 0.001% of CPU in average.

Join us

Contact me on Discord (Pako#3904) and I can make the bot join your server, all you have to do is setup a simple JSON like this:

{
    "Name": "Frydek - Mistek",
    "Id": 343037316752998400,
    "Channels": [
        {
            "From": "ex-raid-diskuze",
            "To": "ex-raid-ankety",
            "ScheduledRaids": true
        },
        {
            "From": "*",
            "To": "raid-ankety"
        }
    ]
}

Note: this is minimalistic config, there is a lot more!

Host yourself

Prerequisites

  • .NET 8.0 (download here)
  • created bot with a token and joined in a guild (Discord server)

Setup

  1. Clone repository
  2. Set environment variable PoGoEnvironment with environment type (e.g. Development or Production)
  3. Configure configuration.<environment>.json
  4. dotnet run

Basic structure of the configuration.<environment>.json

{
  "Token": "TOKEN HERE [1]",
  "Guilds": [
    {
      "Name": "Your Server's name [2]",
      "Id": 123456789 [3],
      "Channels": [
        {
          "From": "*",
          "To": "name of the destination channel for polls [4]",
          "ScheduledRaids": true
        }
      ]
    }
  ]
}

* is required.
1* - Bot's token for auth.
2 - Just an alias for the logging purpose. Bot can run on multiple servers at once.
3* - Id of your Guild (Discord server).
4* - Name of the destination channel where the bot will write a raid polls.

Notes: In case you have multiple channels, the order is from the top to the bottom, so first matched will win and therefore place "*" as the last one.

Future development

The BOT supports Czech language only (for end users). In case that you are interested translations might be added.

pogo.discordbot's People

Contributors

janvargovsky avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

pogo.discordbot's Issues

Enhancement: Translation using Resources file

I found a solution that you might be interested in. I would actually be more than happy to help implement and create a pull request to resolve. By using a resx file to hold string values, it can be translated. I would try to see if I can add the current culture information to your object and file. That way it will be able to be set while it is running via command, theoretically.

More about resx files.
https://docs.microsoft.com/en-us/dotnet/framework/resources/working-with-resx-files-programmatically

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.