Как писать сообщения от имени бота, telebot, python
Мне нужна команда бота /msg (/msg TEXT) для отправки сообщений от имени бота. И команда /msgU для отправки на один ID (/msgU 123456 TEXT). Все ID пользователей хранятся в txt файле. Как это можно сделать? Зарание спасибо за ответ!
Ответы (1 шт):
Автор решения: Archerymystery
→ Ссылка
Если ваш текстовый файл с ID выглядит вот так:
23323232232
23323254355
35455355353
То вот:
@bot.message_handler(content_types=["text"])
def repeat_all_messages(message):
text=message.text
mesage=text.split()
if mesage[0]=='/msg':
mesage.remove(mesage[0])
text = ' '.join(mesage)
with open('Ваш фаил') as f:
lines = list(f)
for i in lines:
if '\n' in i:
i = i[0:-1]
bot.send_message(i,text)
elif mesage[0] == '/msgu':
id = mesage[1]
mesage.remove(mesage[0])
mesage.remove(mesage[0])
text = ' '.join(mesage)
bot.send_message(id, text)
Ну и можно сделать чтобы только на твои команды реагировал:
@bot.message_handler(content_types=["text"])
def repeat_all_messages(message):
if message.chat.id == твой ID
text=message.text
mesage=text.split()
if mesage[0]=='/msg':
mesage.remove(mesage[0])
text = ' '.join(mesage)
with open('3.txt') as f:
lines = list(f)
print(lines)
for i in lines:
if '\n' in i:
i = i[0:-1]
print(i)
bot.send_message(i,text)
elif mesage[0] == '/msgu':
id = mesage[1]
mesage.remove(mesage[0])
mesage.remove(mesage[0])
text = ' '.join(mesage)
bot.send_message(id, text)
И на будущие используй базы данных