def screen(m): bot.delete_message(m.chat.id, m.message_id) HEADERS = { "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36" } keyboard = types.InlineKeyboardMarkup() keyboard_delete = types.InlineKeyboardButton(text="❌", callback_data="delete") keyboard.add(keyboard_delete) try: res = requests.get(m.text[5:], headers=HEADERS) # Защита от спермотоксикозников bool_ = ("Порн" in res.text or "P**n" in res.text or "p**n" in res.text or "порн" in res.text) if bool_ == 1: bot.send_sticker( m.chat.id, "CAACAgQAAxkBAAIaSF93cwIsw1oPRGtOdZHTF8_UsBTDAAJYAAO6erwZr3-jVb-xFsgbBA" ) time.sleep(15.5) bot.delete_message(m.chat.id, m.message_id + 1) else: bot.send_photo( m.chat.id, photo="https://mini.s-shot.ru/1366x768/JPEG/1366/Z100/?" + m.text[5:], reply_markup=keyboard) except Exception as e: print("❌ ОШИБКА ❌") print("screenshot.py " + e) Error(m, bot).error()
def showMainMenu(message): """ Функция показа главного меню. Отображает стикер и приветственное сообщение. Устанавливает в базу необходимые значения. Parameters ---------- message Объект message """ # working with json currentChatId = message.chat.id databaseHelper.save(currentChatId, 'prevMenuId', 0) databaseHelper.save(currentChatId, 'status', 0) remindsStatus = databaseHelper.get(currentChatId, 'reminds') # keyboard markup = types.ReplyKeyboardMarkup(row_width=1, resize_keyboard=True) tasksListButton = types.KeyboardButton(config.tasksListLabel) timeTableButton = types.KeyboardButton(config.timeTableLabel) eventsButton = types.KeyboardButton(config.eventsLabel) game = types.KeyboardButton("Крестики-нолики") turnRemindsBtn = types.KeyboardButton( f"{config.remindsLabel} {remindsStatus}") markup.add(tasksListButton, timeTableButton, eventsButton, turnRemindsBtn, game) # sending sticker = open(random.choice(config.stickers), 'rb') bot.send_sticker(message.chat.id, sticker) bot.send_message(message.chat.id, config.mainMenuMessage, reply_markup=markup)
def mute(m): bot.delete_message(m.chat.id, m.message_id) check_admin = Error(m, bot).check_reply_admin_() if m.reply_to_message.from_user.id == 905933085: bot.send_message(m.chat.id, text="*Не трошь её!*", parse_mode="Markdown") time.sleep(2) bot.delete_message(m.chat.id, m.message_id + 1) bot.send_sticker( m.chat.id, "CAACAgIAAxkBAAIalF94SmIocEzaL6j2Yaz4IAM_ueoMAAIBAQACnxUvEo9CUplzfDv9GwQ" ) time.sleep(5) bot.delete_message(m.chat.id, m.message_id + 2) ########################################################################## else: # Если человек не if check_admin == False: Error(m, bot).message_admin() if check_admin == True: bot.restrict_chat_member(m.chat.id, m.reply_to_message.from_user.id, can_send_messages=False) bot.send_message(m.chat.id, text="*" + m.reply_to_message.from_user.first_name + "* _замолк на 10 минут!_", parse_mode="Markdown")
def handler_new_member(m): bot.delete_message(m.chat.id, m.message_id) #Удалить сообщение, содержащее команду id = m.json id = id['new_chat_members'] for a in id: id = a['id'] name = a['first_name'] last = f'<a href="tg://user?id={id}">{name}</a>' bot.send_sticker( m.chat.id, 'CAACAgIAAxkBAAJFW16Tj7HCIcjx9fPTf3WYtEXLG4EJAAIDAAOF-3IqNguusCQT_gEYBA' ) #Отправить стикер bot.send_message(m.chat.id, "Добро пожаловать, " + last + "\nНапиши /help, чтобы мной воспользоваться", parse_mode="HTML") bot.export_chat_invite_link(chat_id) ####################################################### writes(m) cursor = conn.cursor() date = (datetime.datetime.now()).strftime("%Y %m %d") id_ = m.from_user.id cursor.execute( f"UPDATE top_users SET date_add = '{date}' WHERE user_id = {m.from_user.id};" ) conn.commit()
def left_chat_member(m): try: bot.delete_message( m.chat.id, m.message_id) #Удалить сообщение о том что пользователь вышел bot.export_chat_invite_link(chat_id) first = f'<a href="tg://user?id={m.from_user.id}">{m.from_user.first_name}</a>' last = f'<a href="tg://user?id={m.left_chat_member.id}">{m.left_chat_member.first_name}</a>' if m.from_user.id != m.left_chat_member.id: bot.send_sticker( m.chat.id, 'CAACAgIAAxkBAAJMe1-lM12m7DQqSelOfsAs3qzBZbY7AAKPEQACPLPFBzLcyrxNSGysHgQ' ) #Отправить стикер result = first + " кикнул(a) " + last bot.send_message(m.chat.id, result, parse_mode=('HTML')) else: bot.send_sticker( m.chat.id, 'CAACAgIAAxkBAAJMe1-lM12m7DQqSelOfsAs3qzBZbY7AAKPEQACPLPFBzLcyrxNSGysHgQ' ) #Отправить стикер bot.send_message( m.chat.id, last + ' покинул(a) нас', parse_mode=("HTML")) #Уведомляем, что пользователь вышел cursor = conn.cursor() userid = m.left_chat_member.id cursor.execute("DELETE FROM top_users WHERE user_id = " + str(userid) + ";") conn.commit() except: bot.send_message(user_id, "Я - псих. И устал от вас, прощайте.")
def guess_city(message): '''Return city name by a number If city not found - return NotFoundError If Timeout is reached - return APICallTimeoutError''' try: obs = owm.weather_at_place(message.text) l = obs.get_location() city_name = l.get_name() guess_answer = 'Ты попал прямиком в {}'.format(city_name) except exceptions.api_response_error.NotFoundError: guess_answer = config.answer_NotFound except exceptions.api_call_error.APICallTimeoutError: bot.send_sticker(message.chat.id, config.timeout_sticker) sleep(5) guess_answer = config.answer_APICallTimeout bot.send_message(message.chat.id, guess_answer)
def start_round_thread(user_id): """messages every user of the round starting in xminutes""" print("started drop session ....") user = db.Users.get(user_id) lang = user.lang btn_text = { "en": f"Join round @{user.username}", "de": f"Runde mit @{user.username} beitreten" } usern_mrkp = telebot.types.InlineKeyboardMarkup() usern_btn = telebot.types.InlineKeyboardButton( text=btn_text[lang], callback_data="join_round") usern_mrkp.add(usern_btn) text = { "en": f""" The Engagement round starts in <b> {drop_duration} seconds </b> ⏳. If you want to participate, just press the button 💁🏽🏽♀ """, "de": f""" Die nächste Engagement-Runde startet in <b>{drop_duration} seconds</b> ⏳. Wenn du daran teilnehmen möchtest, drücke einfach auf den Button 💁🏽🏽♀ """ } # bot.send_photo( # user_id, # "https://res.cloudinary.com/konichar/image/upload/v1591791368/bxyknpdz2wuw8ewqevpg.png", # caption=intro, # parse_mode="html" # ) bot.send_sticker( user_id, data= "CAACAgQAAxkBAAITQV7iAsys8gEyMHMnjK-TV-2FDBzPAAIBAAOtV8w-NXDaJwofElEaBA" # reply_markup=usern_mrkp ) start_round_message = bot.send_message(user_id, text=text[lang], reply_markup=usern_mrkp, parse_mode="html") loop_teaze(user_id, start_round_message)
def showHelp(message): """ Функция вывода сообщения для команды /help Parameters ---------- message Объект message """ botMessage = f"<b>{message.from_user.first_name}</b>, {config.helpMessage}" bot.send_message(message.chat.id, botMessage, reply_markup=None, parse_mode='html') helpSticker = open('static/img/nobodycares.tgs', 'rb') bot.send_sticker(message.chat.id, helpSticker) # working with json currentChatId = message.chat.id databaseHelper.save(currentChatId, 'prevMenuId', 0) databaseHelper.save(currentChatId, 'status', 0)
def start(message): """ Sends a greeting message from config file and provides some basic bot configuration settings """ chatID = message.chat.id language = Language(chatID).lang languageMarkup = getLanguageMarkup(language) bot.send_sticker(chatID, greetingStickerId) greetingString = message.replies.hi.format(message.from_user.first_name, bot.get_me().username, commands.h) bot.send_message(chatID, greetingString, reply_markup=languageMarkup, parse_mode='html')
def say(m): bot.delete_message(m.chat.id, m.message_id) try: if m.chat.type != "private": markup = types.InlineKeyboardMarkup( ) #Отвечаем, если выхов был из супер чата link_bot = types.InlineKeyboardButton( text='Перейти в лс', url='t.me/cat_glav_bot' ) #Отвечаем, если выхов был из супер чата markup.add(link_bot) #Отвечаем, если выхов был из супер чата sent = bot.send_message( m.chat.id, "Команда /say работает только в лс бота", reply_markup=markup) #Отвечаем, если выхов был из супер чата sleep(10) bot.delete_message(m.chat.id, sent.message_id) if m.reply_to_message: sticker_id = bot.get_file(m.reply_to_message.sticker.file_id) bot.send_sticker(chat_id, sticker_id.file_id) sent = bot.send_message( m.chat.id, "Стикер успешно отправлен!" ) #Отвечаем, если команда пришла не из супер чата sleep(10) bot.delete_message(m.chat.id, sent.message_id) else: bot.send_message( chat_id, f"_{random.choice(shout)}:_ *'{m.text[5:]}'* 😱 ", parse_mode="Markdown" ) #Обработать команду и отправить то, что находится с 5 символа и до... sent = bot.send_message( m.chat.id, "Сообщение успешно отправлено!" ) #Отвечаем, если команда пришла не из супер чата sleep(10) bot.delete_message(m.chat.id, sent.message_id) except Exception: Error(m, bot).error()
def get_loc_weather(latitude, longitude, message): try: obs = owm.weather_at_coords(latitude, longitude) weather = obs.get_weather() humidity = weather.get_humidity() l = obs.get_location() city_name = l.get_name() temperature = weather.get_temperature("celsius")["temp"] answer = "Я нашел тебя 🙈 \n" answer += config.answer_text.format(city_name, weather.get_detailed_status(), temperature, humidity) if temperature < 0: answer += "Тебе там не холодно, котичка?" elif temperature < 10: answer += "Чашка горячего чая не помешает" elif temperature < 15: answer += "Чуууточку бы теплее)" elif temperature < 20: answer += "Муур" elif temperature < 25: answer += "Погода шепчет, нужно выгулять котичка)))" elif 25 <= temperature <= 30: answer += "Еще чуть-чуть и станет совсем жарко, раздевайся...))" elif temperature > 30: answer += random.choice(config.answer_list_hot) except exceptions.api_response_error.NotFoundError: bot.send_sticker(message.chat.id, config.error_sticker) sleep(3) answer = random.choice(config.answer_NotFound) except exceptions.api_call_error.APICallTimeoutError: answer = config.answer_APICallTimeout except exceptions.api_call_error.APICallError: answer = config.answer_APICallError return answer
def send_sticker(message): bot.send_sticker(message.chat.id, random.choice(config.sticker_list))
def send_welcome(message): bot.send_sticker(message.chat.id, config.start_sticker) sleep(5) bot.send_message(message.chat.id, config.welcome_text)
def windows(m): bot.send_sticker( m.chat.id, "CAACAgQAAxkBAALoU17aTycp4L0kAkIssMm9au-ZFzIAAxQAA7p6vBnUv7ww6GyZrhoE" )