Skip to content

fatfingers23/trackscape-discord-bot

Repository files navigation

TrackScape Discord Bot

TrackScape Logo

Join our Discord to get support or discuss TrackScape!

Features

  • Receive in game Clan Chat messages in Discord via the RuneLite TrackScape Connector plugin
  • Send messages to the In Game Clan Chat via Discord. This uses the RuneLite TrackScape Connector plugin to send messages to the Clan Chat.
  • The bot sends embed and styled Broadcast Messages to a Discord Channel.

Getting a chat in in game from Discord

In Game Chat

Clan Chat from game in Discord

Clan Chat Broadcast


Commands

By default, only Discord users with Manage Server permissions can use the majorty of the commands. This can be changed via Integrations.

/info - Get information about the bot

/set_broadcast_channel channel: {channel} - Sets the to receive emded Broadcast messages

/set_clan_chat_channel channel: {channel} - Sets the channel to receive Clan Chat messages and records messages sent to Clan Chat in game

/get_verification_code - Get the verification code to link your RuneLite TrackScape Connector plugin to the bot


Broadcast Types

Diary Completed

Diary Completed Broadcast

Item Drop

Item Drop Broadcast

Raid Drop

Raid Drop Broadcast

Pet Drop

Pet Drop Broadcast

Quest Completed

Quest Completed Broadcast

and more!

Setup your own bot

Coming soon! Everything needed is in the .env.save and production-docker-compose.yml. But detailed instructions will come soon.

Developer setup

This guide will help you get started with running TrackScape to make changes. This is the bare minimal to get TrackScape running and in a state to start development. As time permits and energy I will update this guide with more details. If you have any questions please do not hesitate to join the TrackScape discord and ask there! Always welcoming to beginners and first time contributors!

Requirements

  • Rust🦀
  • Docker or Docker Desktop
    • Rather not use docker? Then make sure you have a redis and mongo db instance running
  • Create a dev discord bot. Can follow this great discord.py guide. Need to make sure you have MESSAGE CONTENT INTENT toggled on for access to message content for when developing any features that read discord messages and send them to the TrackScape plugin.
  • Make a copy of .env.save
    • MONGO_USERNAME and MONGO_PASSWORD can be w/e you like to secure your development server
    • DISCORD_TOKEN This is the discord token created from setting up a discord bot
    • MANAGEMENT_API_KEY can be set to w/e. It is used to password protect some endpoints of the API for communication between the bot and the api
    • DEV_GUILD_ID is the id of your discord server that is hosting your TrackScape discord bot
  • The bot and api are ran via shuttle via cargo-shuttle v0.48.1. If you are using an earlier version, it is recommended to upgrade.

Running the Discord bot and API

  1. Make sure docker desktop is running and run docker compose up -d in the root of the project. Or make sure your monogodb and redis services are running
  2. Run the project with cargo shuttle run. And that's it! The API and bot should be running.

Setup for TrackScape Plugin

Coming soon!

Setup for UI Development

Coming soon!

Further setup or questions

If you do have any issues or questions can join the bots discord and feel free to ask questions there! TrackScape Discord

Future Features

All of the features below depends on data gotten from Clan Chat messages. So if it is not sent to the bot or does not broadcast in CC will not be able to be sent to Discord and parsed. This is done by the RuneLite TrackScape Connector

  • Get clan member activity. Check for last time xp gained or last time a chat was sent
  • Pking
    • Check your K/D Pk ratio from Discord bot
    • Check your total kills and deaths from Discord bot
    • Check Gold earned and lost from Discord bot
    • In clan leaderboards
  • Collection Log Leaderboards - See where you log stands with the rest of the clan
  • Bossing PB Leaderboards - See where you stand with the rest of the clan for fastest kills
  • Simple Team Bingo - to be determined. May not happen
    • Bingo tiles by certain drops
      • Bingo tiles by sets. Barrows, Godsword, etc
    • Bingo tiles by certain bosses
    • Bingo tiles by certain xp gain
    • Ability to manually check/uncheck team tiles
    • Ability to auto check tiles
    • Check your bingo card from Discord bot