from telebot.types import Message, ReplyKeyboardMarkup
def get_buttons(message: Message):
keyboard = ReplyKeyboardMarkup(selective=True)
for word in message.text.split(";"):
keyboard.add(word)
return keyboard
bot.register_next_step_handler(bot.send_message(chat_id, "123"), break_this)
и соответственно в функции break_this
реализовать прерывание цикла, например через флаги. Можно создать базу пользователей с полем, отвечающим за остановку цикла.from telebot import types
UserId = int # тайпхинт
class User:
def __init__(self, user_id: UserId):
self.user_id = user_id # неплохо бы property
self.is_spamming = False # везде
users: dict[UserId, User] = {}
def stop_spam(message: types.Message):
users[message.from_user.id].is_spamming = False
@bot.message_handler(<>)
def spam(message: types.Message):
user = users[message.from_user.id]
user.is_spamming = True
while user.is_spamming:
bot.register_next_step_handler(bot.send_message(<>), stop_spam) # как-то так
chat_id = message.chat.id
message_id = message.message_id # или message.id - в последних версиях есть такое
if message.reply_to.message is None:
bot.send_message(chat_id=chat_id, "Ответьте командой на сообщение", reply_to_message_id=message_id)
else:
id_to_kick = message.reply_to_message.from_user.id
bot.kick_chat_member(chat_id=chat_id, user_id=id_to_kick)
bot.send_message(chat_id=chat_id, "Пользователь кикнут", reply_to_message_id=message_id)
from telethon.tl.functions.channels import InviteToChannelRequest
client(InviteToChannelRequest(
channel=<channel_id>
users = ['<username>']
))
from time import sleep
from telethon.tl.functions.contacts import ImportContactRequest
from telethon.tl.types import InputPhoneContact, User
from telethon.errors.rpcerrorlist import FloodWaitError
from telethon import TelegramClient
client = TelegramClient("имя сессии", "апи ид", "апи хеш") # можешь сюда ещё старт вписать
async def run():
while True:
try:
result = await client(ImportContactsRequest([InputPhoneContact(
client_id=1, # любой ид
phone=<сюда точно подойдет телефон, возможно что и username тоже>,
first_name="имя", last_name="фамилия",
)]))
except FloodWaitError as e:
sleep(e.seconds)
client.loop.run_until_complete(run())
"\uxxxx"
, вместо xxxx вставляешь код эмоджи.pip install emoji
, вот здесь