def handle_message(bot: Client , msg: Message): ''' This function gonna handle what's coming from user, and will reply to user ''' user = check_user(msg.from_user.id) if (msg.chat.type != 'private'): # return if msg.text: if(msg.text == '/start' ): user.state = 0 bot.send_message(user.id, 'welcome' , reply_markup=MAIN_KEYBOARD ) elif(user.state == 0 and msg.text == 'set name' ) : user.state = 1 bot.send_message(user.id,'enter your name: ', reply_markup=ReplyKeyboardRemove()) elif(user.state == 0 and msg.text == 'set age') : user.state = 2 bot.send_message(user.id,'enter your age: ', reply_markup=ReplyKeyboardRemove()) elif(user.state == 0 and msg.text == 'my profile'): bot.send_message(user.id,f'Name: {user.name}\nAge: {user.age}') elif (user.state == 1): user.name = msg.text user.state = 0 bot.send_message(user.id,'your name saved: ', reply_markup=MAIN_KEYBOARD) elif (user.state == 2): user.age = msg.text user.state = 0 bot.send_message(user.id,'your age saved: ', reply_markup=MAIN_KEYBOARD)
def stop(_, update): chat_id = update.chat.id chat_title = update.chat.title or update.from_user.first_name text = 'ok. Você pode digitar /start para iniciar novamente o recebimento das leituras diárias' db.del_chat_id_daily_liturgy(chat_id=chat_id) update.delete() update.reply_text(text=text, quote=False, parse_mode='html', reply_markup=ReplyKeyboardRemove()) logger.info(f'left chat {chat_id} ({escape(chat_title)})')
async def stop_process(client: Bot, cb: CallbackQuery): await cb.message.delete() await cb.answer() status = await client.send_message( chat_id=cb.message.chat.id, text=Presets.CANCEL_CLONE, reply_to_message_id=cb.message.message_id, reply_markup=ReplyKeyboardRemove()) await asyncio.sleep(3) await status.delete() await client.send_message( chat_id=cb.message.chat.id, text=Presets.CANCELLED_MSG, reply_markup=InlineKeyboardMarkup( [[InlineKeyboardButton(text="CLOSE", callback_data="close_data")]])) os.execl(sys.executable, sys.executable, *sys.argv)
async def start(client: Client, message: Message): question = questions.p_lang["ask"] answers = questions.p_lang["ans"] buttons = make_buttons(answers=answers.items(), size=3, back=False) history.add_user(message.chat.id) await client.send_message( chat_id=message.chat.id, text= f"""__Hoşgeldin__ **{message.from_user.first_name}** __, bu bot henüz geliştirme aşamasındadır. Bu sebeple kaynak altyapısı sınırlı seviyededir. Önerebileceğin kaynaklar varsa__ /hakkinda __kısmından bize ulaşabilir, botun kullanımı sırasında bir sorunla karşılaşırsan tekrardan__ /start __komutunu çalıştırabilirsin.__""", reply_markup=ReplyKeyboardRemove(True), ) await client.send_message( chat_id=message.chat.id, text=question, reply_markup=InlineKeyboardMarkup(buttons), )
async def callback_call(client, message): if message.data == "promote": if message.message.reply_to_message != None: await message.message.delete() await send_all_message(client, message) await client.delete_messages(message.message.chat.id, [_.message_id for _ in await client.get_media_group (message.message.chat.id, message.message.reply_to_message.message_id)]) else: await message.message.edit_reply_markup(reply_markup=ReplyKeyboardRemove()) await send_all_message(client, message) await message.message.delete() if message.data == "delete": if message.message.reply_to_message != None: await client.delete_messages(message.message.chat.id, [_.message_id for _ in await client.get_media_group (message.message.chat.id, message.message.reply_to_message.message_id)]) await message.message.delete() else: await message.message.delete()
import async_timeout from pyrogram import Client, filters from pyrogram.filters import create from pyrogram.handlers import MessageHandler, CallbackQueryHandler from pyrogram.types import ReplyKeyboardRemove, Message, KeyboardButton, ReplyKeyboardMarkup, CallbackQuery, \ InlineKeyboardMarkup, InlineKeyboardButton from . import Config, Mtproto, Http, OnStreamClosed, DeviceFinderCollection from .devices import Device, DevicePlayerFunction from .tools import build_uri, pyrogram_filename, secret_token __all__ = [ "Bot" ] _REMOVE_KEYBOARD = ReplyKeyboardRemove() _CANCEL_BUTTON = "^Cancel" class States(enum.Enum): NOTHING = enum.auto() SELECT = enum.auto() class StateData(abc.ABC): @abc.abstractmethod def get_associated_state(self) -> States: raise NotImplementedError class SelectStateData(StateData):
def chiudi(_, message): message.reply("Okay, ho chiuso la tastiera!", reply_markup=ReplyKeyboardRemove())