Beispiel #1
0
import ptbot
import settings

from pytimeparse import parse
from progressbar import render_progressbar

api_key = settings.APIKEY
chat_id = settings.CHAT_ID

bot = ptbot.Bot(api_key)
bot.send_message(chat_id, 'На сколько запустить таймер?')


def notify_progress(secs_left, message_id, time):
    bot.update_message(
        chat_id, message_id,
        'Осталось {} секунды\n{}'.format(secs_left,
                                         render_progressbar(time, secs_left)))
    if secs_left == 0:
        bot.send_message(chat_id, 'Время вышло')


def reply(text):
    time = parse(text)
    message_id = bot.send_message(
        chat_id,
        'Осталось {} секунды\n{}'.format(time, render_progressbar(time, time)))
    bot.create_countdown(time,
                         notify_progress,
                         message_id=message_id,
                         time=time)
Beispiel #2
0
                       format_progress_message(seconds_total, seconds_left))


def notify_time_is_over():
    bot.send_message(tg_chat_id, "Время вышло!")


def reply(time):
    parsed_time = pytimeparse.parse(time)
    if parsed_time is None:
        error_message = 'Я так не понимаю.\nНапишите что-то вроде "5s" или "1.2 minutes"'
        bot.send_message(tg_chat_id, error_message)
        return
    message_id = bot.send_message(
        tg_chat_id, format_progress_message(parsed_time, parsed_time))
    bot.create_countdown(parsed_time, notify_progress, parsed_time, message_id)
    bot.create_timer(parsed_time, notify_time_is_over)


if __name__ == "__main__":
    env = Env()
    env.read_env()

    tg_token = env.str("tg_token")
    tg_chat_id = env.int("tg_chat_id")

    bot = ptbot.Bot(tg_token)
    bot.send_message(tg_chat_id, "На какое время поставить таймер?")
    bot.reply_on_message(reply)
    bot.run_bot()
Beispiel #3
0
    current_seconds = total_seconds - secs_left
    message = 'Осталось {} секунд(ы).\n\n'.format(secs_left)
    progressbar = render_progressbar(total_seconds, current_seconds)
    updated_message = message + progressbar
    bot.update_message(chat_id, message_id, updated_message)


def notify(message: str) -> None:
    bot.send_message(chat_id, message)


def reply(wait_time: str) -> None:
    wait_seconds = parse(wait_time)
    if wait_seconds != None:
        message_id = bot.send_message(
            chat_id, 'Таймер запущен на {} секунд.'.format(wait_seconds))
        bot.create_timer(wait_seconds, notify, 'Время вышло')
        bot.create_countdown(wait_seconds,
                             notify_progress,
                             message_id=message_id,
                             total_seconds=wait_seconds)
    else:
        bot.send_message(chat_id, 'Некорректные данные. Формат: 10s, 2m, 3h')


chat_id = os.getenv('TELEGRAM_CHAT_ID')
bot_token = os.getenv('TELEGRAM_BOT_TOKEN')
bot = ptbot.Bot(bot_token)
bot.send_message(chat_id, 'Привет. На сколько запустить таймер?')
bot.wait_for_msg(reply)
Beispiel #4
0
    start_message_id = bot.send_message(
        CHAT_ID, 'Таймер запущен на {0} секунд'.format(time))
    start_progress = bot.send_message(CHAT_ID, render_progressbar(time, time))
    bot.create_countdown(time,
                         notify_progress,
                         new_text=start_message_id,
                         time=time,
                         new_time=start_progress)
    bot.create_timer(time, notify)


def render_progressbar(total,
                       iteration,
                       prefix='',
                       suffix='',
                       length=30,
                       fill='█',
                       zfill='░'):
    iteration = min(total, iteration)
    percent = "{0:.1f}"
    percent = percent.format(100 * (iteration / float(total)))
    filled_length = int(length * iteration // total)
    pbar = fill * filled_length + zfill * (length - filled_length)
    return '{0} |{1}| {2}% {3}'.format(prefix, pbar, percent, suffix)


bot = ptbot.Bot(TOKEN)
bot.send_message(CHAT_ID, 'На сколько запустить таймер?')
bot.reply_on_message(reply)

bot.run_bot()
                       iteration,
                       prefix='',
                       suffix='',
                       length=30,
                       fill='█',
                       zfill='░'):
    iteration = min(total, iteration)
    percent = "{0:.1f}"
    percent = percent.format(100 * (iteration / float(total)))
    filled_length = int(length * iteration // total)
    pbar = fill * filled_length + zfill * (length - filled_length)
    return '{0} |{1}| {2}% {3}'.format(prefix, pbar, percent, suffix)


def reply(msg_time):
    user_time = str(parse('{}'.format(msg_time)))
    message_id = bot.send_message(
        telegram_id_chat,
        'Таймер запущен на {} {}'.format(user_time, 'секунд'))
    bot.create_timer(parse('{}'.format(msg_time)), notify, "Время вышло")
    bot.create_countdown(parse('{}'.format(msg_time)),
                         notify_progress,
                         update_message=message_id,
                         full_time=int(user_time))


telegram_id_chat = os.getenv("TELEGRAM_ID_CHAT")
telegram_id_token = os.getenv("TELEGRAM_ID_TOKEN")
bot = ptbot.Bot(telegram_id_token)
bot.send_message(telegram_id_chat, "На сколько запустить таймер?")
bot.wait_for_msg(reply)
Beispiel #6
0
import ptbot
import os
from pytimeparse import parse
import datetime

telegram_bot_token = os.getenv("TELEGRAM_BOT_TOKEN")
bot = ptbot.Bot(telegram_bot_token)
telegram_chat_id = os.getenv("TELEGRAM_ID_CHAT")
message_id = bot.send_message(telegram_chat_id, "На сколько запустить таймер?")


def render_progressbar(total,
                       iteration,
                       prefix='',
                       suffix='',
                       length=30,
                       fill='█',
                       zfill='░'):
    iteration = min(total, iteration)
    percent = "{0:.1f}"
    percent = percent.format(100 * (iteration / float(total)))
    filled_length = int(length * iteration // total)
    pbar = fill * filled_length + zfill * (length - filled_length)
    return '{0} |{1}| {2}% {3}'.format(prefix, pbar, percent, suffix)


def notify_progress(secs_left, message_id):
    bot.update_message(telegram_chat_id, message_id,
                       "Осталось {} {}".format(secs_left, "seconds"))

Beispiel #7
0
import ptbot
from pytimeparse import parse
token = "1594751729:AAEZd4HdD1WVf1AHaDty3oU8rkzJ1w0ZwmM"
chatid = "367392748"


def notify():
    bot.up(chatid, "Times up")


def notify_progress(secs_left):
    message_id = bot.send_message(chatid, secs_left)


def reply(text):
    time = parse(text)
    timerr = str(time)
    msg = "Timer set on " + timerr + " seconds"
    bot.send_message(chatid, msg)
    bot.create_countdown(time, notify_progress)
    bot.create_timer(time, notify)


bot = ptbot.Bot(token)
bot.send_message(chatid, 'How much time do you want?')
bot.reply_on_message(reply)

bot.run_bot()
Beispiel #8
0

def notify_progress(secs_left, message_id, total_seconds):
    str_progressbar = render_progressbar(total_seconds, secs_left)
    bot.update_message(TELEGRAM_CHAT_ID, message_id,
                       f'Осталось секунд: {secs_left} \n {str_progressbar}')


def render_progressbar(total,
                       iteration,
                       prefix='',
                       suffix='',
                       length=30,
                       fill='█',
                       zfill='░'):
    iteration = min(total, iteration)
    percent = "{0:.1f}"
    percent = percent.format(100 * (iteration / float(total)))
    filled_length = int(length * iteration // total)
    pbar = fill * filled_length + zfill * (length - filled_length)
    return '{0} |{1}| {2}% {3}'.format(prefix, pbar, percent, suffix)


TELEGRAM_TOKEN = os.getenv('TELEGRAM_TOKEN')
TELEGRAM_CHAT_ID = os.getenv('TELEGRAM_CHAT_ID')
bot = ptbot.Bot(TELEGRAM_TOKEN)

bot.send_message(TELEGRAM_CHAT_ID, 'На сколько запустить таймер?')
bot.reply_on_message(reply)
bot.run_bot()
Beispiel #9
0
    print(render_progressbar (secs, secs_left))
    sum_message =  text_message +  progressbar
    message_id = bot.send_message(CHAT_ID, sum_message)
    bot.update_message(CHAT_ID,message_id, sum_message)

    iteration = min(total, iteration)
    percent = "{0:.1f}"
    percent = percent.format(100 * (iteration / float(total)))
    filled_length = int(length * iteration // total)
    pbar = fill * filled_length + zfill * (length - filled_length)
    return '{0} |{1}| {2}% {3}'.format(prefix, pbar, percent, suffix)

#def notify():
     bot.send_message(CHAT_ID, 'Время вышло')

def notify_progress (secs, secs_left, total, iteration, prefix='', suffix='', length=30, fill='█', zfill='░'):
    iteration = min(total, iteration)
    percent = "{0:.1f}"
    percent = percent.format(100 * (iteration / float(total)))
    filled_length = int(length * iteration // total)
    pbar = fill * filled_length + zfill * (length - filled_length)
    return '{0} |{1}| {2}% {3}'.format(prefix, pbar, percent, suffix)

print(render_progressbar (10, 5))

#if __name__ == '__main__':
    bot = ptbot.Bot(TG_token)
    bot.send_message(CHAT_ID,'На сколько запустить таймер?')
    bot.reply_on_message(reply)
    bot.run_bot()
Beispiel #10
0
#!/usr/bin/env python
# -*- coding: utf-8 -*-

import os
import ptbot
from pytimeparse import parse

my_bot_token = os.getenv('MY_BOT_TOKEN')
chat_id = os.getenv('CHAT_ID')
initial_msg = 'На сколько запустить таймер?'
bot = ptbot.Bot(my_bot_token)


def finish_notify():
    finish_notify_msg = 'Время вышло!'
    bot.send_message(chat_id, finish_notify_msg)


def reply(user_input):
    seconds_quantity = parse(user_input)
    bot.create_timer(seconds_quantity, finish_notify)
    start_timer_msg = ('Таймер запущен на {}  секунд'.format(seconds_quantity))
    bot.send_message(chat_id, start_timer_msg)
    progress_msg = ('Осталось {} секунды'.format(seconds_quantity))
    progressbar = render_progressbar(seconds_quantity, 0)
    progress_msg_id = bot.send_message(chat_id, progress_msg)
    progressbar_id = bot.send_message(chat_id, progressbar)
    bot.create_countdown(seconds_quantity,
                         notify_progress,
                         progress_msg_id=progress_msg_id,
                         progressbar_id=progressbar_id,
Beispiel #11
0
    percent = "{0:.1f}"
    percent = percent.format(100 * (iteration / float(total)))
    filled_length = int(length * iteration // total)
    pbar = fill * filled_length + zfill * (length - filled_length)
    return '{0} |{1}| {2}% {3}'.format(prefix, pbar, percent, suffix)


def reply_msg(text):
    seconds = parse(text)
    message_id = bot.send_message(
        CHAT_ID,
        'Таймер запущен на {} секунд'.format(seconds),
    )
    bot.create_countdown(seconds,
                         notify_progress,
                         message_id=message_id,
                         total_seconds=seconds)
    bot.create_timer(seconds, notify_finish)


def launch_bot():
    bot.send_message(CHAT_ID, 'Привет!')
    bot.send_message(CHAT_ID, 'На сколько запустить таймер?')
    bot.reply_on_message(reply_msg)
    bot.run_bot()


if __name__ == '__main__':
    bot = ptbot.Bot(API_KEY)
    launch_bot()