telegram bot to send msg to users
This commit is contained in:
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
local_settings.py
|
||||
18
bot.py
Normal file
18
bot.py
Normal file
@@ -0,0 +1,18 @@
|
||||
from telegram.ext import Application
|
||||
from telegram.ext import CommandHandler
|
||||
import syms as _bot_syms
|
||||
|
||||
async def bot_start(update, context):
|
||||
chat_id = update.effective_chat.id
|
||||
await update.message.reply_text(f'wb_alert bot: <code>{chat_id}</code>', parse_mode='HTML')
|
||||
print(f'alert_bot bot_start: {chat_id}')
|
||||
|
||||
def main():
|
||||
application = Application.builder().token(_bot_syms.TOKEN).build()
|
||||
application.add_handler(CommandHandler('start', bot_start))
|
||||
|
||||
print('alert_bot main: Bot is running...')
|
||||
application.run_polling()
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
2
local_settings.py
Normal file
2
local_settings.py
Normal file
@@ -0,0 +1,2 @@
|
||||
TOKEN= '8381960173:AAFfHKWUNu8WMAAf1dvTnrDraING_ZNTY8k'
|
||||
USERS= ['245431596']
|
||||
30
msg_sender.py
Normal file
30
msg_sender.py
Normal file
@@ -0,0 +1,30 @@
|
||||
import requests as _rqsts
|
||||
import syms as _bot_syms
|
||||
|
||||
|
||||
def _wb_telegram_send_alert(message: str):
|
||||
users= _bot_syms.USERS
|
||||
|
||||
for user in users:
|
||||
print(f"wb_alert_bot _wb_telegram_send_alert: sending message to {user}...")
|
||||
payload = {
|
||||
'chat_id': user,
|
||||
'text': message,
|
||||
'parse_mode': 'Markdown'
|
||||
}
|
||||
|
||||
try:
|
||||
res = _rqsts.post(_bot_syms.TELEGRAM_API_URL, data=payload, timeout=3)
|
||||
res.raise_for_status()
|
||||
|
||||
jres = res.json()
|
||||
if jres.get('ok'):
|
||||
print(f"wb_alert_bot _wb_telegram_send_alert: message sent to {user}!")
|
||||
else:
|
||||
print(f"wb_alert_bot _wb_telegram_send_alert: Message not sent to {user}: {jres}")
|
||||
|
||||
except _rqsts.exceptions.RequestException as e:
|
||||
print(f"wb_alert_bot _wb_telegram_send_alert: Connection error: {e}")
|
||||
|
||||
def wb_telegram_send_alert(msg):
|
||||
_wb_telegram_send_alert(msg)
|
||||
2
requirements/requirements.txt
Normal file
2
requirements/requirements.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
python-telegram-bot[job-queue]==22.5
|
||||
requests==2.32.5
|
||||
13
syms.py
Normal file
13
syms.py
Normal file
@@ -0,0 +1,13 @@
|
||||
try:
|
||||
from local_settings import TOKEN
|
||||
except:
|
||||
print('alert_bot FATAL: add bot token here: local_settings.py')
|
||||
TOKEN= ''
|
||||
|
||||
try:
|
||||
from local_settings import USERS
|
||||
except:
|
||||
print('alert_bot FATAL: add bot users here: local_settings.py')
|
||||
USERS= []
|
||||
|
||||
TELEGRAM_API_URL = f'https://api.telegram.org/bot{TOKEN}/sendMessage'
|
||||
Reference in New Issue
Block a user