implement send_event (almost)
This commit is contained in:
parent
54be436606
commit
f243b8cfc7
|
|
@ -0,0 +1,3 @@
|
|||
SZYNOWO_TOKEN=
|
||||
SZYNOWO_CHAT=
|
||||
SZYNOWO_FORWARD_TO=
|
||||
42
main.py
42
main.py
|
|
@ -1,4 +1,7 @@
|
|||
from datetime import datetime
|
||||
from typing import Optional, Tuple
|
||||
from telegram.ext import Updater, CommandHandler, CallbackContext
|
||||
from telegram import Update, ParseMode
|
||||
import os
|
||||
import logging
|
||||
from dotenv import load_dotenv
|
||||
|
|
@ -20,22 +23,51 @@ class Bot:
|
|||
self.dispatcher.add_handler(
|
||||
CommandHandler(f[4:], getattr(self, f)))
|
||||
|
||||
def cmd_start(self, update, context):
|
||||
def cmd_start(self, update: Update, context: CallbackContext):
|
||||
context.bot.send_message(chat_id=update.effective_chat.id,
|
||||
text=f'Hi! effective_chat.id={update.effective_chat.id}')
|
||||
|
||||
def cmd_test(self, update, context: CallbackContext):
|
||||
context.bot.send_message(chat_id=self.chat, text="Test")
|
||||
msg = context.bot.send_poll(
|
||||
def send_event(self, date: datetime, header: str, description: str, location: str, latlong: Optional[Tuple[float, float]] = None, is_new: bool = True):
|
||||
messages = []
|
||||
d = date.strftime("%Y-%m-%d %H:%M")
|
||||
text = f"""\
|
||||
*{header}*
|
||||
_{d}, {location}_
|
||||
{description}
|
||||
"""
|
||||
m = self.updater.bot.send_message(
|
||||
self.chat, text=text, parse_mode=ParseMode.MARKDOWN)
|
||||
messages.append(m)
|
||||
if latlong is not None:
|
||||
m = self.updater.bot.send_location(
|
||||
self.chat, latitude=latlong[0], longitude=latlong[1])
|
||||
messages.append(m)
|
||||
m = self.updater.bot.send_poll(
|
||||
self.chat,
|
||||
"Poll title",
|
||||
f'Wpadasz? ({header})',
|
||||
['Będę', 'Nie będę', '🍆'],
|
||||
is_anonymous=False,
|
||||
allows_multiple_answers=False,
|
||||
)
|
||||
messages.append(m)
|
||||
|
||||
for chat in self.forward_to:
|
||||
for msg in messages:
|
||||
msg.forward(chat)
|
||||
|
||||
def cmd_test(self, update: Update, context: CallbackContext):
|
||||
context.bot.send_message(chat_id=self.chat, text="Test")
|
||||
self.send_event(datetime.now(), "Header",
|
||||
"Description", "Szynowa 18", (51.060938, 17.057193))
|
||||
|
||||
def cmd_location(self, update: Update, context: CallbackContext):
|
||||
print(type(update))
|
||||
context.bot.send_location(
|
||||
update.effective_chat.id,
|
||||
51,
|
||||
19
|
||||
)
|
||||
|
||||
def run(self):
|
||||
self.updater.start_polling()
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue