Как сделать расылку ообщения в телеграмм боте aiogram?
Пытаюсь сделать рассылку сообщения подписчикам телеграм бота. Как сделать так чтобы отправлялось сообщение набранное сс клавиатуры ?
@dp.message_handler(text='/special')
async def notify_users(message: types.Message):
user_list=[1,2,3]
for user_id in user_list:
await bot.send_message(user_id, 'ало')
Ответы (2 шт):
Автор решения: Никита Волков
→ Ссылка
Решилось таким спообом
@dp.message_handler(Command('sendall'))
async def send_all(message: Message):
if message.chat.id==admins_id:
await message.answer("Start")
for i in users:
await bot.send_message(i,message.text[message.text.find(' '):])
await message.answer('Done')
else:
await message.answer('Error')
Автор решения: Рефа
→ Ссылка
Так рассылку будет легче использовать, потому что идёт ещё запись ID пользователей бот в отдельный документ joined.txt, который нужно создать самому.
joinedFile = open("joined.txt", "r")
joinedUsers = set ()
for line in joinedFile:
joinedUsers.add(line.strip())
joinedFile.close()
@dp.message_handler(commands=['start'])
async def startjoin(message):
if not str(message.chat.id) in joinedUsers:
joinedFile = open("joined.txt", "a")
joinedFile.write(str(message.chat.id) + "\n")
joinedUsers.add(message.chat.id)
@dp.message_handler(commands=['sendall'])
async def mess(message: types.Message):
for user in joinedUsers:
await dp.bot.send_message(chat_id = user,text=message.text[message.text.find(' '):])