GithubHelp home page GithubHelp logo

jkvint / serverstatsbot Goto Github PK

View Code? Open in Web Editor NEW

This project forked from geekbeard/serverstatsbot

0.0 2.0 0.0 19 KB

Telegram bot which provides the server statistics and monitoring feature to notify you of the critical events. In development! Please feel free to contribute!:)

Python 100.00%

serverstatsbot's Introduction

Server Manager Bot

A Telegram Bot:

  • Commands
    • /stats - gives summed statistics about memory \ disk \ processes (will improve)
    • /shell - goes into the mode of executing shell commands & sends you the output
    • /memgraph - plots a graph of memory usage for a past period and sends you a picture of the graph
    • /setmem - set memory threshold (%) to monitor and notify if memory usage goes above it
    • /setpoll - set polling interval in seconds (higher than 10)
  • Monitors memory usage and if it reaches above the set threshold = sends you warning message

Example summary: Gif

Bot

Example shell command output as a message from the bot:

Shell

Example graph sent by bot: Gif

Graph

Usage

Requirements

  • Python 3+
  • Telepot
  • Psutil
    • Make sure to install it for Python 3+
    • In order to make sure that pip installs packages for the 3+ version:
      • curl -O https://bootstrap.pypa.io/get-pip.py
      • sudo python3 get-pip.py
      • After that pip install psutil
      • Also Stackoverflow question about that here
  • matplotlib
    • sudo apt-get install python3-matplotlib
  • Bot key & tokens.py
    • Hide all the keys and admin variables in tokens.py. Use it only for sensitive variables. Avoid creating functions not to clutter the namespaces through the import.
    • Get a key from the Bot Father
    • Clone that repo
    • In the folder with the cloned repo create a file tokens.py
      • It's added to the .gitignore so you don't commit your own (and I don't commit mine:)
    • In that file put a string variable telegrambot which equals your key
      • For example: telegrambot = "000000000:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"

Running the bot

python3 servstatsbot.py

Running the bot as "daemon"

  • See included file in the repo: servstatsbot.conf
    • Open it and edit the path as mentiond in the comments there
  • Place that file in /etc/init/
  • Start the "daemon" with: start servstatsbot
    • You can start|stop|restart
    • If bot crashes it'll be automatically restarted
    • It will also start after reboot

Setting an admin

You have to set a variable adminchatid in tokens.py to be equal your chat_id or multiple chat_id (if more people will use your bot). For example:

  • adminchatid = [443355]
  • adminchatid = [443355, 55667788, 99884433]

I will reimplement this differently later.

PLEASE CONTRIBUTE :)

I threw this code together within 10 minutes or so as a mockup to work on it later. But I think it's a nice bot idea and some of you guys might like this too. So please feel free to fork, pull, requests features! Can give contributors access! Would really love to see this bot grow some fat and brain:)

Other bot development

Alfred

http://alfredthebot.com

GB

serverstatsbot's People

Contributors

geekbeard avatar

Watchers

 avatar  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.