2022-11-06 07:14:33 +00:00
|
|
|
from collections import defaultdict
|
2022-04-03 11:36:54 +01:00
|
|
|
import dotenv
|
|
|
|
import os
|
2022-11-06 07:14:33 +00:00
|
|
|
import io
|
|
|
|
import tempfile
|
|
|
|
|
|
|
|
from datetime import datetime
|
2022-04-03 11:36:54 +01:00
|
|
|
|
|
|
|
from flask import Flask
|
|
|
|
|
2022-11-01 19:59:51 +00:00
|
|
|
|
|
|
|
from telegram import Update, PhotoSize, File, BotCommand
|
|
|
|
from telegram.ext import Updater, MessageHandler, CommandHandler, Filters, CallbackContext, ConversationHandler
|
2022-04-03 11:36:54 +01:00
|
|
|
|
|
|
|
|
2022-11-06 07:14:33 +00:00
|
|
|
|
2022-04-03 11:36:54 +01:00
|
|
|
app = Flask("rafael")
|
|
|
|
RAFAEL_UA = "RAFAEL/0.1"
|
|
|
|
|
2022-04-03 11:51:59 +01:00
|
|
|
|
|
|
|
from rafael.bookmarks import RafaelBookmarkPlugin
|
2022-11-06 07:14:33 +00:00
|
|
|
from rafael.journal import JournalPlugin
|
2022-04-03 11:51:59 +01:00
|
|
|
|
2022-11-01 19:59:51 +00:00
|
|
|
def handle(update: Update, context: CallbackContext):
|
|
|
|
|
|
|
|
print("args:", context.args)
|
|
|
|
|
|
|
|
|
|
|
|
print(f"Received a message: {update.message.text}")
|
|
|
|
update.message.reply_text(f"You said: {update.message.text}")
|
|
|
|
|
|
|
|
print(update.message.to_json())
|
|
|
|
|
|
|
|
if update.message.document is not None:
|
|
|
|
print("Document", update.message.document.get_file())
|
|
|
|
|
|
|
|
elif update.message.effective_attachment:
|
|
|
|
|
|
|
|
for att in update.message.effective_attachment:
|
|
|
|
|
|
|
|
if isinstance(att, PhotoSize):
|
|
|
|
print(att.get_file())
|
|
|
|
else:
|
|
|
|
print("unknown attachment:", att)
|
|
|
|
|
|
|
|
update.message.reply_text("done m8")
|
|
|
|
|
|
|
|
|
2022-04-03 11:51:59 +01:00
|
|
|
|
2022-04-03 11:36:54 +01:00
|
|
|
class RafaelBot:
|
|
|
|
|
|
|
|
def __init__(self):
|
|
|
|
self.updater = Updater(os.getenv("TELEGRAM_API_KEY"))
|
|
|
|
|
|
|
|
self.dispatcher = self.updater.dispatcher
|
|
|
|
|
2022-11-01 19:59:51 +00:00
|
|
|
|
2022-04-03 11:51:59 +01:00
|
|
|
bh = RafaelBookmarkPlugin()
|
2022-11-01 19:59:51 +00:00
|
|
|
bh.register(self.updater)
|
2022-04-03 11:36:54 +01:00
|
|
|
|
2022-11-01 19:59:51 +00:00
|
|
|
jp = JournalPlugin()
|
|
|
|
jp.register(self.updater)
|
|
|
|
|
|
|
|
#self.updater.dispatcher.add_handler(CommandHandler("journal", handle))
|
|
|
|
#self.updater.dispatcher.add_handler(MessageHandler(Filters.attachment, handle))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-04-03 11:36:54 +01:00
|
|
|
|
|
|
|
def run(self):
|
|
|
|
self.updater.start_polling()
|
|
|
|
|
|
|
|
|
2022-11-01 19:59:51 +00:00
|
|
|
|
2022-04-03 11:36:54 +01:00
|
|
|
@app.route("/", methods=['GET'])
|
|
|
|
def index():
|
|
|
|
return "hello"
|
|
|
|
|
|
|
|
def main():
|
|
|
|
dotenv.load_dotenv()
|
|
|
|
|
2022-11-01 19:59:51 +00:00
|
|
|
print("run bot")
|
2022-04-03 11:36:54 +01:00
|
|
|
bot = RafaelBot()
|
2022-11-01 19:59:51 +00:00
|
|
|
|
2022-04-03 11:36:54 +01:00
|
|
|
bot.run()
|
2022-11-01 19:59:51 +00:00
|
|
|
print("bot run")
|
2022-04-03 11:36:54 +01:00
|
|
|
|
|
|
|
|
|
|
|
# app.run()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if __name__ == "__main__":
|
|
|
|
main()
|