Використання хмарних технологій для автоматичної розсилки повідомлень в Telegram
DOI:
https://doi.org/10.31498/2225-6733.47.2023.299990Ключові слова:
хмарне середовище, AWS EC2, екземпляр, розсилка повідомлень, API Telegram, Python, автоматизація, TelethonАнотація
В статті розглянуто питання автоматизації розповсюдження повідомлень в месенджері Telegram за допомогою хмарних технології. Описано загальну проблему розсилки повідомлень декількома каналами. Зроблений огляд останніх досліджень та публікацій сучасних технологій обміну повідомленнями в Telegram, проаналізовані бібліотеки, фреймворки та сучасні патерни. Запропоновано методику використання потужностей AWS EC2 для створення масштабованого та надійного рішення для автоматизованої розсилки повідомлень. Детально описаний процес створення програми за запропонованою методикою. Описано її архітектуру та взаємодію модулів. Архітектура структурована таким чином, щоб інкапсулювати різні функції, кожна з яких служить певній меті в ширшому контексті автоматизованого розповсюдження повідомлень на платформі Telegram. Наводяться характеристики обраного сервісу AWS, обраної операційної системи, мови програмування та використаних бібліотек. Продемонстровано використання автоматичного масштабування в AWS, що автоматизує налаштування ресурсів на основі попередньо визначених критеріїв та забезпечує ефективне рішення для обробки коливань попиту та підтримки оптимальної продуктивності системи. Використані мова програмування Python та бібліотека Telethon. Показано взаємодію AWS EC2 з API Telegram та використання модуля Asynchronous Message Forwarding для організації обробки декількох каналів одночасно. Описані можливості програми – налаштування облікових записів Telegram, пошук повідомлень, автоматизована переадресація на кілька каналів та інші дії. Показані результати проведених тестувань розробленої програми, що показують, що автоматизація процесу пересилки повідомлень збільшує швидкість їх доставки у велику кількість чатів на 120 секунд, а це ефективніше в 40 разів, а її ресурсомісткість менша, ніж ресурсомісткість звичайного телеграм клієнту в 5 разів
Посилання
Liu K., Dong L.-J. Research on cloud data storage technology and its architecture implementation. Procedia Engineering. 2012. Vol. 29. Pp. 133-137. DOI: https://doi.org/10.1016/j.proeng.2011.12.682.
Amazon Web Services. AWS Elastic Compute Cloud (EC2): Documentation and User Guides. 2021. URL: https://aws.amazon.com/ec2/documentation/ (дата звернення: 18.04.2023).
Artificial intelligence in information systems research: A systematic literature review and research agenda / Collins C., Dennehy D., Conboy K., Mikalef P. International Journal of Infor-mation Management. 2021. Vol. 60. Pp. 1-17. DOI: https://doi.org/10.1016/j.ijinfomgt.2021.102383.
What is Telegram Messenger. 2018. URL: https://medium.com/@telegramguide/what-is-telegram-messenger-c079418e1f10 (дата звернення: 25.04.2023).
TelegramClient. URL: https://doc.esdoc.org/github.com/dot-build/telegram-js/class/src/telegram-client.js~TelegramClient.html (дата звернення: 05.02.2023).
amazon.aws.ec2_instance module – Create & manage EC2 instances. AWS Documentation. URL: https://docs.ansible.com/ansible/latest/collections/amazon/aws/ec2_instance_module.html (дата звернення: 23.04.2023).
Faisandier A., Roedler G., Adcock R. System Architecture. SEBoK. URL: https://sebokwiki.org/wiki/System_Architecture (дата звернення: 30.04.2023).
Telethon’s Documentation. URL: https://docs.telethon.dev/en/stable (дата звернення: 07.05.2023).
Python Standard Library. Python 3.12.2 documentation. URL: https://docs.python.org/3/library/ (дата звернення: 07.05.2023).
Tmux. Ubuntuusers. URL: https://wiki.ubuntuusers.de/tmux/ (дата звернення: 15.05.2023).
##submission.downloads##
Опубліковано
Як цитувати
Номер
Розділ
Ліцензія
Журнал "Вісник Приазовського державного технічного університету. Серія: Технічні науки" видається під ліцензією СС-BY (Ліцензія «Із зазначенням авторства»).
Дана ліцензія дозволяє поширювати, редагувати, поправляти і брати твір за основу для похідних навіть на комерційній основі із зазначенням авторства. Це найзручніша з усіх пропонованих ліцензій. Рекомендується для максимального поширення і використання неліцензійних матеріалів.
Автори, які публікуються в цьому журналі, погоджуються з наступними умовами:
1. Автори залишають за собою право на авторство своєї роботи та передають журналу право першої публікації цієї роботи на умовах ліцензії Creative Commons Attribution License, яка дозволяє іншим особам вільно розповсюджувати опубліковану роботу з обов'язковим посиланням на авторів оригінальної роботи та першу публікацію роботи в цьому журналі.
2. Автори мають право укладати самостійні додаткові угоди, які стосуються неексклюзивного поширення роботи в тому вигляді, в якому вона була опублікована цим журналом (наприклад, розміщувати роботу в електронному сховищі установи або публікувати у складі монографії), за умови збереження посилання на першу публікацію роботи в цьому журналі.