RagingRectangle / NestBot

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

PoGO Nest Bot

About

A Discord bot for displaying current PoGO nests in areas.

Join the Discord server for any help and to keep up with updates: https://discord.gg/USxvyB9QTz

Requirements

  • New Discord bot with token (If using an old bot that also uses /slash commands those will be overridden)
  • Nest generator (Nest tool such as Fletchling/Nestwatcher/Nestcollector)

Install Normal

git clone https://github.com/RagingRectangle/NestBot.git
cd NestBot
cp config.json.example config.json
npm install

Install Docker

git clone https://github.com/RagingRectangle/NestBot.git
cd NestBot
cp config.json.example config.json
add content from docker-compose.example.yml into your docker-compose.yml
docker-compose build nestbot
docker-compose up -d nestbot

Logs with:
docker-compose logs -f -t --tail="1000" nestbot

Optional TileServer

  • Used for generating minimaps of nest locations.
  • Install info.
  • Create new nest-bot template using info from nest-bot.json.
  • Shout out to Malte for the centering/zoom calculations

Config Setup

token: Discord token for bot.

nest_db: Database info where nest data is stored.

adminIDs: Discord user IDs who are allowed to use commands. Additional command settings can be found in the servers Integrations tab.

updateCron: Cron schedule for refreshing nest boards.

nestBoardCommand: Slash command name. Use only lowercase.

nestBoardOrder: Display order of nests. Options: pokemon_id, pokemon_name, nest_name, pokemon_avg.

includeUnknown: Whether or not to include nests with unknown names.

renameUnknownFrom/renameUnknownTo: Use these options to rename the default unknown nest names.

minimumAverage: The minimum hourly average to display in boards.

averageToFixed: How many decimals to include in averages.

areaNameLink: Whether or not to convert area names to map links (Will decrease max number of nests shown).

linkFormat: Format for links. Use: {{lat}} and {{lon}}.

titleFormat: Format for board embed title. Use {{area}} for area name.

boardFormat: Format for each nest entry in embed. Options: {{dex}}, {{pokemon}}, {{shiny}}, {{type}}, {{avg}}, {{name}}.

ignoredFormNames: List of form names to ignore.

replaceUnderscores: Whether or not to replace underscores in area names with spaces.

language: Pokemon name and form translations - possible: en / de / es / fr / it / ru

footerFormat: Date/time format in footer.

footerOffset: Hours to offset in footer.

tileServerURL: Enter link to TileServer (Without trailing /).

tileWidth/tileHeight: Size of generated map in pixels.

emojis: Same format as Poracle if you'd like to copy custom emojis over for types (Will decrease max number of nests shown).

Usage Normal

  • Start the bot in a console with node nests.js.
  • Can (should) use PM2 to run instead with pm2 start nests.js --name NestBot.
  • Boards will refresh at set cron schedule.
  • For now if you need to remove a board you can delete it from nestBoards.json.
  • Restart to manually refresh nests, update game master, or update available shinies.

Example

About


Languages

Language:JavaScript 99.2%Language:Dockerfile 0.8%