A discord bot for tracking Iranian Minecraft servers and showing the statistics of them

Overview

IRMCTracker

A discord bot for tracking Iranian Minecraft servers and showing the statistics of them

Installation

Installation needs a valid installation of Python > 3.6

Use the package manager pip to install requirments.txt

pip install -r requirments.txt

Before running the bot

Copy storage/data/.env.sample to storage/data/.env and update tokens/prefixes etc as desired

After running the bot

  1. Add servers to tracker database (No need to restart after that, bot will fetch the newly added servers):
    • Directly using database management softwares
    • Through commands (~/cog/admin.py)

Usage

# Run the discord bot
python main.py run

# Fetching all servers and updating them in database
python main.py db:update

# Running tests/test_basic.py for testing purposes
python main.py test

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

License

GNU GPLv3

Comments
  • added a small protection for sql injection and added a server class for easier types

    added a small protection for sql injection and added a server class for easier types

    Not Tested Yet!

    don't use before testing!

    • added a classes folder to put the database objects in it.
    • added the server.py class to classes folder.
    • added the Server class.
    • used the Server class within the track.py for better type detection
    • added an extremely very simple (definitely not complete) injection clearance function.

    even though I added the small SQL injection clearance function, I still think you should change the way you use the database. so I...

    • added the SQLAlchemy requirement to the requirements.text
    enhancement 
    opened by Hopeful-ly 2
  • ☠️SQL Injection....

    ☠️SQL Injection....

    I checked the code, and I think you wrote the SQLite command executer. I'm pretty sure you are familiar with the phrase SQL Injection Here's an example from your own code:

    • I Type -- .track madcraft
    • Your Code Executes -- SELECT * FROM 'servers' WHERE name LIKE 'madcraft'

    Nothing unexpected happens, but because you put the raw input into the command, I can do almost anything....

    • I Type -- .track mad'{any_command_without_space}
    • Your Code Executes -- SELECT * FROM 'servers' WHER name LIKE mad'{any_command_without_spaces}'

    And now anyone can execute anything in your database, and that's bad 🤦🏽

    I would suggest you using a premade framework that stops that from happening, the one I'd suggest is: SQLAlchemy

    opened by Hopeful-ly 2
  • added online play feature with 'webmc'

    added online play feature with 'webmc'

    New Feature

    The new feature added to this version is the play command which allows the user to open a link sent by the bot and join the chosen Minecraft server with their browser. This is made simple thanks to WebMC, an open-source client of Minecraft made using javascript.

    Updates

    • a very simple type change in get_server_like. more type change should probably be done to make development easier.
    • fixed the typo in requirments.py -> requirements.py

    Note

    This "play" feature is not actually like playing Minecraft. it misses many features that the actual Minecraft client has to offer and I'm not even sure about its version compatibility.

    Also, don't forget to Test this feature. I'm too lazy to test it myself so I'll hand over the labor to you.

    needs test 
    opened by Hopeful-ly 1
  • Players Online Errors & Also Took More Than 7min untill next update

    Players Online Errors & Also Took More Than 7min untill next update

    hey some times bot show us wrong player counter in .servers for example: we have a pinger bot shows 139 Players but in tracker its 132 players fix it

    invalid 
    opened by TheWylot 1
  • UpTime and DownTime alert

    UpTime and DownTime alert

    Uptime and downtime of servers

    • Downtime and uptime sections have been added to the main loop
    • Added uptime field to tracker command
    • Uptimes and downtimes are stored TEMPOLARLY and are not depending on the database
    • Tracker.py line 124 needs to get changed for the alerts channel
    opened by ItzAmirreza 1
  • light fix for alerts

    light fix for alerts

    New logic: tracker may or may not ping the server correctly and it sometimes happens that the tracker won't have a clear response from the server duo to anything... so we add a new tempdata variable called "strike", if the strike reaches "3", then we can assume that the serer IS OFFLINE. We only do this for offline events because the chance of getting 0 latency is much higher.

    opened by ItzAmirreza 0
Owner
MCTracker
A system for tracking Iranian Minecraft servers and showing the statistics of them
MCTracker
One version package to rule them all, One version package to find them, One version package to bring them all, and in the darkness bind them.

AwesomeVersion One version package to rule them all, One version package to find them, One version package to bring them all, and in the darkness bind

Joakim Sørensen 39 Dec 31, 2022
A bot to get Statistics like the Playercount from your Minecraft-Server on your Discord-Server

Hey Thanks for reading me. Warning: My English is not the best I have programmed this bot to show me statistics about the player numbers and ping of m

spaffel 12 Sep 24, 2022
The records of 42 million users from a third-party version of the popular Telegram messaging app have just been Iranian accounts leaked

TelegramDatabase About The records of 42 million users from a third-party version of the popular Telegram messaging app have just been Iranian account

Hamed Mohammadvand 10 Jan 14, 2022
Barbot is a discord bot made from discord.py and python, barbot is most to fun and roleplay for servers!

BarBot Main source of barbot Overview Barbot is a discord bot made from discord.py and python, barbot is most to fun and roleplay for servers! Links i

AlexyDaCoder 3 Nov 28, 2021
Discord bot code to stop users that are scamming with fake messages of free discord nitro on servers in order to steal users accounts.

AntiScam Discord bot code to stop users that are scamming with fake messages of free discord nitro on servers in order to steal users accounts. How to

H3cJP 94 Dec 15, 2022
RChecker - Checker for minecraft servers

?? RChecker v1.0 Checker for Minecraft Servers ?? Supported operating systems: ✅

Pedro Vega 1 Aug 30, 2022
A Discord bot that rewards players in Minecraft for sending messages on Discord

MCRewards-Discord-Bot A Discord bot that rewards players in Minecraft for sending messages on Discord How to setup: Download this git as a .zip, or cl

null 3 Dec 26, 2021
Innocent-Bot - A Discord client self-bot for destroying, nuking and causing mischief in servers

Innocent-bot A Discord client self-bot for destroying, nuking and causing mischi

†† 5 Jan 26, 2022
A discord Server Bot made with Python, This bot helps people feel better by inspiring them with motivational quotes or by responding with a great message, also the users of the server can create custom messages by telling the bot with Commands.

A discord Server Bot made with Python, This bot helps people feel better by inspiring them with motivational quotes or by responding with a great message, also the users of the server can create custom messages by telling the bot with Commands.

Aran 1 Oct 13, 2021
StudyLion is a Discord bot that tracks members' study and work time while offering members to view their statistics and use productivity tools such as: To-do lists, Pomodoro timers, reminders, and much more.

StudyLion - Discord Productivity Bot StudyLion is a Discord bot that tracks members' study and work time while offering members the ability to view th

null 45 Dec 26, 2022
Discord bot to administer IITD Study Servers (unofficial)

IITD-Bot Discord bot to administer IITD'20 Acad Server Commands hello to check if bot is online ?help to display this message ?set <kerberos> to set y

Aditya Singh 47 Dec 19, 2022
Satoshi is a discord bot template in python using discord.py that allow you to track some live crypto prices with your own discord bot.

Satoshi ~ DiscordCryptoBot Satoshi is a simple python discord bot using discord.py that allow you to track your favorites cryptos prices with your own

Théo 2 Sep 15, 2022
A discord bot providing notifications of player activity on a minecraft server.

tos-alert A discord bot providing notifications of player activity on a minecraft server. Setup By default the app does not launch and will crash with

null 1 Jul 22, 2022
MCNameBot is a fast discord bot that is used to check the availability of a Minecraft name with a simple command.

MCNameBot MCNameBot is a fast discord bot that is used to check the availability of a Minecraft name with a simple command. If you would like to just

Killin 2 Oct 11, 2022
A small and fun Discord Bot that is written in Python and discord-interactions (with discord.py)

Articuno (discord-interactions) A small and fun Discord Bot that is written in Python and discord-interactions (with discord.py) Get started If you wa

Blue 8 Dec 26, 2022
❄️ Don't waste your money paying for new tokens, once you have used your tokens, clean them up and resell them!

TokenCleaner Don't waste your money paying for new tokens, once you have used your tokens, clean them up and resell them! If you have a very large qua

0xVichy 59 Nov 14, 2022
💀 The first raid tool of its kind. Inject Deadcord and raid servers directly from the Discord client.

?? Deadcord The next upcoming Discord raid tool, the best for free. ?? Early Beta Released We have released an early version of Deadcord, please keep

Galaxzy 157 May 24, 2022
PyManGenerator is a token generator for discord, it joins servers using webbot to automate everything

PyManGenerator is a token generator for discord, it joins servers using webbot to automate everything. Captcha can be done by itself unless you used your current IP Address more than once.

null 5 Nov 27, 2021
Find rare users in discord servers

BadgeScraper Find rare users in discord servers How to use Replace the guild_id, server_id and token by the values you wanna use If you never used dis

null 20 Dec 9, 2022