Pull to refresh

Telegram бот для отслеживания позиции в очереди на 2b2t

Level of difficultyEasy

Данный бот поможет отслеживать свою позицию в очереди на 2b2t удаленно от ПК.

На сервере существует очередь, в некоторые моменты, достигающая порядка 1000 человек, а время ожидания в ней может доходить до 12 часов. В такие моменты очень удобен бот, который будет отсылать вам позицию в очереди когда вы находитесь вне дома.

Бот реализован на языке python, с использованием библиотеки telebot. Данная библиотека позволяет осуществлять управление telegram ботом. Установить ее можно командой "pip install pyTelegramBotAPI"

import time, os
import telebot



token = 'Токен бота'
oldline = ""
bot = telebot.TeleBot(token)
def follow(thefile):
    thefile.seek(0,2)
    while True:
        line = thefile.readline()
        if not line:
            time.sleep(0.1)
            continue
        yield line




logfile = open(os.getenv("APPDATA")+"/.minecraft/logs/latest.log", "r") #Путь до логов игры
loglines = follow(logfile)
for line in loglines:
    if "[System] [CHAT]" in line:
        print (line[89:111])
        if line[89:111] != oldline:
            oldline = line[89:111]
            bot.send_message(id телеграм для общения с ботом, line[89:111]) #Отправляем сообщение на телеграм
        




bot.infinity_polling()

Ваш id чата можно найти в некоторых клиентах Telegram либо получить его, используя следующий код

import telebot

token = 'токен бота'

bot = telebot.TeleBot(token)

@bot.message_handler(commands=['start'])
def start_message(message):
    bot.send_message(message.chat.id, message.chat.id)

bot.polling()

После запуска этого кода, напишите боту команду "/start", после чего он вам выдаст ваш id.

Важно! Бота следует запускать после запуска самой игры во избежание ошибок.

Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.