コード例 #1
0
ファイル: logic.py プロジェクト: DiZiNnEs/QRcodeBot-telegram
def create_qrcode(message):
    do = message.text
    bot.send_message(message.chat.id, 'Начинаю делать QR-code по слову: ' + do)
    img = qrcode.make(do)
    img.save('QR-code.png')

    bot.send_photo(message.chat.id, photo=open('/home/dizinnes/PycharmProjects/QRcodeBot/QR-code.png', 'rb'))
コード例 #2
0
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()
コード例 #3
0
ファイル: profile.py プロジェクト: bopopescu/KorpusBot
def looking_profile(call):
    bot.delete_message(chat_id=call.message.chat.id,
                       message_id=call.message.message_id)
    if call.data[-1] == '*':
        bot.send_message(call.message.chat.id,
                         'Главное меню',
                         reply_markup=get_keyboard(call.from_user.id))
    else:
        profile = GetProfile(call.data[16:], cursor)
        if profile[0] != None:
            string = 'Пользователь: ' + profile[0]
            string += "\nФото: "
            bot.send_message(call.message.chat.id, string)
            if profile[3] != None:
                bot.send_photo(call.message.chat.id, profile[3])
            else:
                bot.send_message(call.message.chat.id, 'Фото недоступно')
            string = "Телефон: " + str(profile[1])
            string = string + "\nЭлектронная почта: " + profile[2]
            string = string + "\nДата регистрации: " + profile[5]
            string = string + '\nАвторитет: ' + str(profile[4])
            if profile[6] != None:
                string = string + '\nСумма оценок в текущем месяце: ' + str(
                    profile[6])
            if profile[7] != None:
                string = string + '\nДосье: ' + profile[8]
            wallet = GetWallet(call.data[16:], cursor)
            if wallet != 'wallet':
                string = string + '\nEtherium-кошелек:' + wallet
            try:
                string = string + '\nТокены вклада: ' + str(
                    GetContributionTokens(call.data[16:], cursor))
                string = string + '\nТокены инвестиций: ' + str(
                    GetInvestmentTokens(call.data[16:], cursor))
            except:
                print("Fix it 2")
            string = string + '\nРоли в системе: '
            rangs = GetRangs(call.data[16:], cursor)
            for rang in rangs:
                string = string + GetTitleOfRang(rang, cursor) + ', '
            string = string[:len(string) - 2]
            projects = GetProjectsOfUser(call.data[16:], cursor)
            if len(projects):
                string += '\nСостоит в проектах: '
                for project in projects:
                    string += '"' + project[0] + '", '
                string = string[:len(string) - 2]
            else:
                string += '\nАктивных проектов нет'
            bot.send_message(call.message.chat.id,
                             string,
                             reply_markup=get_keyboard(call.from_user.id))
            # except:
            #     bot.send_message(call.message.chat.id, "Анкета заполнена не полностью",
            #                      reply_markup=get_keyboard(call.from_user.id))
        else:
            bot.send_message(call.message.chat.id,
                             "Ой, анкета еще не заполнена",
                             reply_markup=get_keyboard(call.from_user.id))
コード例 #4
0
ファイル: animals.py プロジェクト: frutitutitut/bot1
def cats(m):
    bot.delete_message(m.chat.id, m.message_id)
    user_agent = {
        'User-Agent':
        'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0'
    }
    search = "https://theoldreader.com/kittens/1366/768/js"
    url = requests.get(search, headers=user_agent)  #Делаем запрос
    soup = BeautifulSoup(url.text, features="lxml")  #Получаем запрос
    result = soup.find("img").get("src")  #Ищем тег <img src="ссылка.png"
    result = "https://theoldreader.com" + result
    bot.send_photo(m.chat.id, photo=result, parse_mode="Markdown")
コード例 #5
0
ファイル: cats.py プロジェクト: evilcatsystem/telegram-bot
def cats(m):
    bot.delete_message(m.chat.id, m.message_id)
    keyboard = types.InlineKeyboardMarkup()  #Добавляем кнопки
    cats = types.InlineKeyboardButton(text="Еще хочу котейку",
                                      callback_data="cats")
    keyboard.add(cats)  #Добавляем кнопки для вывода
    user_agent = {
        'user-agent':
        'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36'
    }

    search = "https://theoldreader.com/kittens/1366/768/js"  #Запрашиваем у юзера, что он хочет найти
    url = requests.get(search, headers=user_agent)  #Делаем запрос
    soup = BeautifulSoup(url.text, features="lxml")  #Получаем запрос
    result = soup.find("img").get("src")  #Ищем тег <img src="ссылка.png"
    result = "https://theoldreader.com" + result
    bot.send_photo(m.chat.id,
                   photo=result,
                   reply_markup=keyboard,
                   parse_mode="Markdown")
コード例 #6
0
 def send_message(self, od='', bd='', gd='', **kwargs):
     btns = types.InlineKeyboardMarkup()
     btn = types.InlineKeyboardButton('原始链接', url=self.post.url)
     btns.row(btn)
     msg_text = (
         f'<a href="{self.post.url}">{self.post.title}</a>\n'
         f'由{self.post.author}发表于{self.post.time}\n'
         f'分类: #{self.post.category}\n'
         '{share_links}\n'
         f'tags: {" ".join(("#{}".format(tag.strip().replace(" ", "_")) for tag in self.post.tags))}'
     )
     share_links = []
     if od:
         btn = types.InlineKeyboardButton('OneDrive', url=od)
         btns.row(btn)
         share_links.append(f'<a href="{od}">OneDrive</a>')
     if gd == 'goindex':
         goindex = f"https://falling-union-6e5b.ytyan.workers.dev/{self.remote_basepath}/"
         btn = types.InlineKeyboardButton('GoIndex', url=goindex)
         btns.row(btn)
         share_links.append(f'<a href="{goindex}">GoIndex</a>')
     elif gd != "":
         btn = types.InlineKeyboardButton('GoogleDrive', url=gd)
         btns.row(btn)
         share_links.append(f'<a href="{gd}">GoogleDrive</a>')
     bot.send_chat_action(const.GOD, 'typing')
     msg_text = msg_text.format(share_links='\n'.join(share_links))
     msg = bot.send_photo(const.CHANNEL,
                          self.photo,
                          caption=msg_text,
                          parse_mode="HTML",
                          reply_markup=btns,
                          disable_notification=True)
     with MessagesDB('main.db', none_stop=True) as msgdb:
         msgdb.save_message(self.post.url_path, msg.chat.id, msg.message_id)
     bot.forward_message(const.GOD, msg.chat.id, msg.message_id)
コード例 #7
0
ファイル: animals.py プロジェクト: frutitutitut/bot1
def dogs(m):
    url = get_dogurl()
    bot.delete_message(m.chat.id, m.message_id)
    bot.send_photo(m.chat.id, photo=url)
コード例 #8
0
def callback_inline(call):
    # Если сообщение из чата с ботом
    if call.message:
        #________________________________________________________________________________________________________________
        #Самые главные кнопки, где книги и прочее
        #________________________________________________________________________________________________________________
        if call.data == "book":
            bot.send_chat_action(call.message.chat.id, 'typing')
            keyb = types.InlineKeyboardMarkup()
            books = types.InlineKeyboardButton(text="Книги📚",
                                               callback_data="books")
            video = types.InlineKeyboardButton(text="Видеокурсы📹",
                                               callback_data="video")
            vkus = types.InlineKeyboardButton(text="Вкусняшки😋",
                                              callback_data="vkus")
            service = types.InlineKeyboardButton(text="Сервисы😧",
                                                 callback_data="servise")
            slovar = types.InlineKeyboardButton(text="Словари брут📖",
                                                callback_data="slovar")
            audio = types.InlineKeyboardButton(text="Аудиокниги🔊",
                                               callback_data="audio")
            back = types.InlineKeyboardButton(text="🔙", callback_data="glav")
            delete = types.InlineKeyboardButton(text="❌",
                                                callback_data="delete")
            keyb.add(books, video, vkus, service, slovar, audio)
            keyb.add(back, delete)
            bot.edit_message_text(chat_id=call.message.chat.id,
                                  message_id=call.message.message_id,
                                  text="*Какой пункт выберешь?*",
                                  reply_markup=keyb,
                                  parse_mode="Markdown")
        elif call.data == "infa":
            bot.send_chat_action(call.message.chat.id, 'typing')
            key = types.InlineKeyboardMarkup()
            arch = types.InlineKeyboardButton(text="Arch Linux",
                                              callback_data="arch linux")
            ubuntu = types.InlineKeyboardButton(text="Ubuntu Linux",
                                                callback_data="ubuntu linux")
            debian = types.InlineKeyboardButton(text="Debian Linux",
                                                callback_data="debian linux")
            gentoo = types.InlineKeyboardButton(text="Gentoo Linux",
                                                callback_data="gentoo linux")
            lfs = types.InlineKeyboardButton(text="LFS",
                                             callback_data="lfs linux")
            kali = types.InlineKeyboardButton(text="Kali Linux",
                                              callback_data="kali linux")
            back = types.InlineKeyboardButton(text="🔙", callback_data="glav")
            delete = types.InlineKeyboardButton(text="❌",
                                                callback_data="delete")
            key.add(arch, ubuntu, debian, gentoo, lfs, kali)
            key.add(back, delete)
            bot.edit_message_text(chat_id=call.message.chat.id,
                                  message_id=call.message.message_id,
                                  text="*Какой дистрибутив желаешь?*",
                                  reply_markup=key,
                                  parse_mode="Markdown")
        elif call.data == "glav":
            bot.send_chat_action(call.message.chat.id, 'typing')
            keyboard = types.InlineKeyboardMarkup()
            book = types.InlineKeyboardButton(text="Обучаться📚",
                                              callback_data="book")
            infa = types.InlineKeyboardButton(text="Wiki Linux",
                                              callback_data="infa")
            citata = types.InlineKeyboardButton(text="Цитата🤤",
                                                callback_data="citata")
            commands_help = types.InlineKeyboardButton(
                text="Помощь по командам📄", callback_data="helpmenu")

            delete = types.InlineKeyboardButton(text="❌",
                                                callback_data="delete")
            keyboard.add(book, infa, citata, commands_help)
            keyboard.add(delete)

            bot.edit_message_text(chat_id=call.message.chat.id,
                                  message_id=call.message.message_id,
                                  text="*Что желаешь?*",
                                  reply_markup=keyboard,
                                  parse_mode="Markdown")
        elif call.data == "books":
            markup = types.InlineKeyboardMarkup()
            btn_site = types.InlineKeyboardButton(text='🔜',
                                                  url='https://clck.ru/N3e6i')
            back = types.InlineKeyboardButton(text="🔙", callback_data="book")
            delete = types.InlineKeyboardButton(text="❌",
                                                callback_data="delete")
            markup.add(btn_site)
            markup.add(back, delete)
            bot.edit_message_text(chat_id=call.message.chat.id,
                                  message_id=call.message.message_id,
                                  text="*Книги, читаем и развиваемся*📚",
                                  reply_markup=markup,
                                  parse_mode="Markdown")
        elif call.data == "video":
            markup = types.InlineKeyboardMarkup()
            btn_site = types.InlineKeyboardButton(text='🔜',
                                                  url='https://clck.ru/N3eBX')
            back = types.InlineKeyboardButton(text="🔙", callback_data="book")
            delete = types.InlineKeyboardButton(text="❌",
                                                callback_data="delete")
            markup.add(btn_site)
            markup.add(back, delete)
            bot.edit_message_text(chat_id=call.message.chat.id,
                                  message_id=call.message.message_id,
                                  text="*Видеокурсы*📹",
                                  reply_markup=markup,
                                  parse_mode="Markdown")
        elif call.data == "vkus":
            markup = types.InlineKeyboardMarkup()
            btn_site = types.InlineKeyboardButton(text='🔜',
                                                  url='https://clck.ru/MoUC7')
            back = types.InlineKeyboardButton(text="🔙", callback_data="book")
            delete = types.InlineKeyboardButton(text="❌",
                                                callback_data="delete")
            markup.add(btn_site)
            markup.add(back, delete)
            bot.edit_message_text(chat_id=call.message.chat.id,
                                  message_id=call.message.message_id,
                                  text="*Вкусняшки*😋",
                                  reply_markup=markup,
                                  parse_mode="Markdown")
        elif call.data == "servise":
            markup = types.InlineKeyboardMarkup()
            btn_site = types.InlineKeyboardButton(text='🔜',
                                                  url='https://clck.ru/NBvQt')
            back = types.InlineKeyboardButton(text="🔙", callback_data="book")
            delete = types.InlineKeyboardButton(text="❌",
                                                callback_data="delete")
            markup.add(btn_site)
            markup.add(back, delete)
            bot.edit_message_text(chat_id=call.message.chat.id,
                                  message_id=call.message.message_id,
                                  text="*Сервисы*😧",
                                  reply_markup=markup,
                                  parse_mode="Markdown")
        elif call.data == "slovar":
            markup = types.InlineKeyboardMarkup()
            btn_site = types.InlineKeyboardButton(text='🔜',
                                                  url='https://clck.ru/NPLf6')
            back = types.InlineKeyboardButton(text="🔙", callback_data="book")
            delete = types.InlineKeyboardButton(text="❌",
                                                callback_data="delete")
            markup.add(btn_site)
            markup.add(back, delete)
            bot.edit_message_text(chat_id=call.message.chat.id,
                                  message_id=call.message.message_id,
                                  text="*Словари для брутфорса*📖",
                                  reply_markup=markup,
                                  parse_mode="Markdown")
        elif call.data == "audio":
            markup = types.InlineKeyboardMarkup()
            btn_my_site = types.InlineKeyboardButton(
                text='🔜', url='https://clck.ru/MpokB')
            back = types.InlineKeyboardButton(text="🔙", callback_data="book")
            delete = types.InlineKeyboardButton(text="❌",
                                                callback_data="delete")
            markup.add(btn_my_site)
            markup.add(back, delete)
            bot.edit_message_text(chat_id=call.message.chat.id,
                                  message_id=call.message.message_id,
                                  text="*Аудиокурсы*🔊",
                                  reply_markup=markup,
                                  parse_mode="Markdown")
#________________________________________________________________________________________________________________
#Рандомные цитатики
#________________________________________________________________________________________________________________
        elif call.data == "citata":
            try:
                markup = types.InlineKeyboardMarkup()
                duble = types.InlineKeyboardButton(text="Еще цитату😋",
                                                   callback_data="citata")
                back = types.InlineKeyboardButton(text="🔙",
                                                  callback_data="glav")
                delete = types.InlineKeyboardButton(text="❌",
                                                    callback_data="delete")
                markup.add(duble)
                markup.add(back, delete)
                url = urls_citata()

                bot.edit_message_text(chat_id=call.message.chat.id,
                                      message_id=call.message.message_id,
                                      text=url,
                                      reply_markup=markup)
            except apihelper.ApiTelegramException as e:
                logfile(call, "Злоупотребление кнопками").time()
#________________________________________________________________________________________________________________
#Кнопки для wiki and download linux
#________________________________________________________________________________________________________________
        elif call.data == "arch linux":
            markup = types.InlineKeyboardMarkup()
            downloads = types.InlineKeyboardButton(
                text='Загрузить', url='archlinux.org/download')
            wiki = types.InlineKeyboardButton(text='Вики',
                                              url='wiki.archlinux.org')
            install = types.InlineKeyboardButton(text='Инструкция',
                                                 url='https://clck.ru/N5eWx')
            back = types.InlineKeyboardButton(text="🔙", callback_data="infa")
            delete = types.InlineKeyboardButton(text="❌",
                                                callback_data="delete")
            markup.add(downloads, wiki, install)
            markup.add(back, delete)
            bot.edit_message_text(
                chat_id=call.message.chat.id,
                message_id=call.message.message_id,
                text="*[Arch Linux]   Для самых привередливых*",
                reply_markup=markup,
                parse_mode="Markdown")
        elif call.data == "ubuntu linux":
            markup = types.InlineKeyboardMarkup()
            downloads = types.InlineKeyboardButton(text='Загрузить',
                                                   url='releases.ubuntu.com')
            wiki = types.InlineKeyboardButton(
                text='Вики', url='help.ubuntu.ru/wiki/главная')
            back = types.InlineKeyboardButton(text="🔙", callback_data="infa")
            delete = types.InlineKeyboardButton(text="❌",
                                                callback_data="delete")
            markup.add(downloads, wiki)
            markup.add(back, delete)
            bot.edit_message_text(
                chat_id=call.message.chat.id,
                message_id=call.message.message_id,
                text="*[Ubuntu Linux]   Для самых маленьких котят*",
                reply_markup=markup,
                parse_mode="Markdown")
        elif call.data == "debian linux":
            markup = types.InlineKeyboardMarkup()
            downloads = types.InlineKeyboardButton(text='Загрузить',
                                                   url='debian.org/CD/')
            wiki = types.InlineKeyboardButton(
                text='Вики', url='wiki.debian.org/ru/DebianRussian')
            back = types.InlineKeyboardButton(text="🔙", callback_data="infa")
            delete = types.InlineKeyboardButton(text="❌",
                                                callback_data="delete")
            markup.add(downloads, wiki)
            markup.add(back, delete)
            bot.edit_message_text(
                chat_id=call.message.chat.id,
                message_id=call.message.message_id,
                text="*[Debian Linux]   Для любителей серверов*",
                reply_markup=markup,
                parse_mode="Markdown")
        elif call.data == "gentoo linux":
            markup = types.InlineKeyboardMarkup()
            downloads = types.InlineKeyboardButton(text='Загрузить',
                                                   url='gentoo.org/downloads')
            wiki = types.InlineKeyboardButton(
                text='Handbook',
                url='wiki.gentoo.org/wiki/Handbook:Main_Pagecg/ru')
            back = types.InlineKeyboardButton(text="🔙", callback_data="infa")
            delete = types.InlineKeyboardButton(text="❌",
                                                callback_data="delete")
            markup.add(downloads, wiki)
            markup.add(back, delete)
            bot.edit_message_text(chat_id=call.message.chat.id,
                                  message_id=call.message.message_id,
                                  text="*[Gentoo Linux]   Для вегетарианцев*",
                                  reply_markup=markup,
                                  parse_mode="Markdown")
        elif call.data == "lfs linux":
            markup = types.InlineKeyboardMarkup()
            downloads = types.InlineKeyboardButton(text='Загрузить',
                                                   url='linuxfromscratch.org')
            wiki = types.InlineKeyboardButton(text='Russian book',
                                              url='book.linuxfromscratch.ru')
            back = types.InlineKeyboardButton(text="🔙", callback_data="infa")
            delete = types.InlineKeyboardButton(text="❌",
                                                callback_data="delete")
            markup.add(downloads, wiki)
            markup.add(back, delete)
            bot.edit_message_text(
                chat_id=call.message.chat.id,
                message_id=call.message.message_id,
                text="*[LFS Linux]   Тут даже нечего сказать*",
                reply_markup=markup,
                parse_mode="Markdown")
        elif call.data == "kali linux":
            markup = types.InlineKeyboardMarkup()
            btn_site = types.InlineKeyboardButton(text='Взломать',
                                                  url='https://clck.ru/JwL3')
            back = types.InlineKeyboardButton(text="🔙", callback_data="infa")
            delete = types.InlineKeyboardButton(text="❌",
                                                callback_data="delete")
            markup.add(btn_site)
            markup.add(back, delete)
            bot.edit_message_text(
                chat_id=call.message.chat.id,
                message_id=call.message.message_id,
                text="*[Kall Linux]   Наше время пришло, мой друг*",
                reply_markup=markup,
                parse_mode="Markdown")
#________________________________________________________________________________________________________________
#Кнопки для команды /help
#________________________________________________________________________________________________________________
        elif call.data == "helpmenu":
            keyboard = types.InlineKeyboardMarkup()  #Добавляем кнопки
            commands_user = types.InlineKeyboardButton(text="Пользователь🤵",
                                                       callback_data="user")
            commands_admin = types.InlineKeyboardButton(text="Админ🤴",
                                                        callback_data="admins")
            back = types.InlineKeyboardButton(text="🔙", callback_data="glav")
            delete = types.InlineKeyboardButton(text="❌",
                                                callback_data="delete")
            keyboard.add(commands_user,
                         commands_admin)  #Добавляем кнопки для вывода
            keyboard.add(back, delete)
            bot.edit_message_text(
                chat_id=call.message.chat.id,
                message_id=call.message.message_id,
                text="*Кто ты?*",
                reply_markup=keyboard,
                parse_mode="Markdown")  #Выводим кнопки и сообщение
        elif call.data == "user":
            markup = types.InlineKeyboardMarkup()
            back = types.InlineKeyboardButton(text="🔙",
                                              callback_data="helpmenu")
            delete = types.InlineKeyboardButton(text="❌",
                                                callback_data="delete")
            markup.add(back, delete)  ###
            bot.edit_message_text(
                chat_id=call.message.chat.id,
                message_id=call.message.message_id,
                text="📎*Команды для пользователя*📎"
                "\n`/start` - _запустить бота_"
                "\n`/id` - _Узнать свой Telegram ID_"
                "\n`/github` - _Репозиторий кота_"
                "\n`/say` *text* - _крик из толпы_"
                "\n`/invite` - _Получить пригласительную ссылку_"
                "\n`/cats` - _Получить рандомных котеек_"
                "\n`/encode` *text* - _Закодировать в base64_"
                "\n`/decode` *text* - _Декодировать base64_"
                "\n`/url` *Ссылка на сайт* - _Скриншот сайта_"
                "\n`/wiki` *text* - _Поиск информации в вики_"
                "\n`/ru` *text* - _Перевести на русский_"
                "\n`/en` *text* - _Перевести на английский_"
                "\n`/post` *text* - _Запостить шутку на канал_"
                "\n`/game` - _Игра камень, ножницы, бумага_"
                "\n`/search` *text* - _Поиск в гугле_"
                "\n`/sy` *text* - _Поиск в ютубе_"
                "\n`/proxy` - _Получить свежий список прокси_"
                "\n`/top` - _Показать активных пользователей_"
                "\n`/arch_news` - _Показать новости Арча_"
                "\n`/news` - _Новости_"
                "\n`/whois` *IP* - _Узнать информацию об IP_"
                "\n`/kernel` - _Показать последние версии ядер_",
                reply_markup=markup,
                parse_mode="Markdown"
            )  #Выводим кнопки и сообщение parse_mode= "Markdown"
        elif call.data == "admins":
            markup = types.InlineKeyboardMarkup()
            back = types.InlineKeyboardButton(text="🔙",
                                              callback_data="helpmenu")
            delete = types.InlineKeyboardButton(text="❌",
                                                callback_data="delete")
            markup.add(back, delete)

            bot.edit_message_text(
                chat_id=call.message.chat.id,
                message_id=call.message.message_id,
                text="📎*Команды для админов*📎"
                "\n`/kick` - _Кикнуть пользователя_"
                "\n`/pin` - _Закрепить пересланное сообщение_"
                "\n`/unpin` - _Открепить сообщение_"
                "\n`/mute` - _Дать мут на 10 минут_"
                "\n`/unmute` - _Снять мут_"
                "\n`/link` - _Получить пригласительную ссылку, после каждого запроса ссылка меняется_"
                "\n`/des`  - _Изменить описание чата, если пустая команда, то описание стирается_ "
                "\n`/logs` - _Просмотр журнала ошибок_"
                "\n`/unban` *ID* или *Пересланное сообщение* - _Убрать пользователя из черного списка_"
                "\n`/restart` - _Перезапустить основного бота_",
                reply_markup=markup,
                parse_mode="Markdown")
#________________________________________________________________________________________________________________
#Рандомные котейки
#________________________________________________________________________________________________________________
        elif call.data == "cats":
            bot.delete_message(call.message.chat.id, call.message.message_id)
            keyboard = types.InlineKeyboardMarkup()
            cats = types.InlineKeyboardButton(text="Еще хочу котейку",
                                              callback_data="cats")
            delete = types.InlineKeyboardButton(text="❌",
                                                callback_data="delete")
            keyboard.add(cats, delete)
            user_agent = {
                'user-agent':
                'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36'
            }

            search = "https://theoldreader.com/kittens/1366/768/js"  #Запрашиваем у юзера, что он хочет найти
            url = requests.get(search, headers=user_agent)  #Делаем запрос
            soup = BeautifulSoup(url.text, features="lxml")  #Получаем запрос
            result = soup.find("img").get(
                "src")  #Ищем тег <img src="ссылка.png"
            result = "https://theoldreader.com" + result
            bot.send_photo(chat_id=call.message.chat.id,
                           photo=result,
                           reply_markup=keyboard)
#________________________________________________________________________________________________________________
#Игра камень ножницы бумага
#________________________________________________________________________________________________________________
        elif call.data == "kamen":
            a = ['Камень', 'Ножницы', 'Бумага']
            comp_number = random.choice(a)
            enter_all = "Вы выбрали 'Камень'" + ", а мой выбор '" + comp_number + "'"
            bot.edit_message_text(chat_id=call.message.chat.id,
                                  message_id=call.message.message_id,
                                  text="Ожидаем результата! (5 секунд)")
            sleep(5)
            if comp_number == "Камень":  # Условие для ничьей
                delete = bot.edit_message_text(
                    chat_id=call.message.chat.id,
                    message_id=call.message.message_id,
                    text=enter_all + "\nНичья")
                sleep(5)
                bot.delete_message(call.message.chat.id, delete.message_id)
            else:  # Условие для выигрыша или проигрыша
                if comp_number == "Ножницы":
                    delete = bot.edit_message_text(
                        chat_id=call.message.chat.id,
                        message_id=call.message.message_id,
                        text=enter_all +
                        "\nТы победил, камень поломал ножницы!")
                    sleep(5)
                    bot.delete_message(call.message.chat.id, delete.message_id)
                elif comp_number == "Бумага":
                    delete = bot.edit_message_text(
                        chat_id=call.message.chat.id,
                        message_id=call.message.message_id,
                        text=enter_all +
                        "\nЯ победил, бумага закатала камень!")
                    sleep(5)
                    bot.delete_message(call.message.chat.id, delete.message_id)
        elif call.data == "noj":
            a = ['Камень', 'Ножницы', 'Бумага']
            comp_number = random.choice(a)
            enter_all = "Вы выбрали 'Ножницы'" + ", а мой выбор '" + comp_number + "'"
            bot.edit_message_text(chat_id=call.message.chat.id,
                                  message_id=call.message.message_id,
                                  text="Ожидаем результата! (5 секунд)")
            sleep(5)
            if comp_number == "Ножницы":  # Условие для ничьей
                delete = bot.edit_message_text(
                    chat_id=call.message.chat.id,
                    message_id=call.message.message_id,
                    text=enter_all + "\nНичья")
                sleep(5)
                bot.delete_message(call.message.chat.id, delete.message_id)
            else:  # Условие для выигрыша или проигрыша
                if comp_number == "Камень":
                    delete = bot.edit_message_text(
                        chat_id=call.message.chat.id,
                        message_id=call.message.message_id,
                        text=enter_all +
                        "\nЯ победил, так как вы выбрали ножницы. Камень поломал ножницы!"
                    )
                    sleep(5)
                    bot.delete_message(call.message.chat.id, delete.message_id)
                elif comp_number == "Бумага":
                    delete = bot.edit_message_text(
                        chat_id=call.message.chat.id,
                        message_id=call.message.message_id,
                        text=enter_all +
                        "\nТы победил, ножницы разрезали бумагу!")
                    sleep(5)
                    bot.delete_message(call.message.chat.id, delete.message_id)
        elif call.data == "bumaga":
            a = ['Камень', 'Ножницы', 'Бумага']
            comp_number = random.choice(a)
            enter_all = "Вы выбрали 'Бумага'" + ", а мой выбор '" + comp_number + "'"
            bot.edit_message_text(chat_id=call.message.chat.id,
                                  message_id=call.message.message_id,
                                  text="Ожидаем результата! (5 секунд)")
            sleep(5)
            if comp_number == "Бумага":  # Условие для ничьей
                delete = bot.edit_message_text(
                    chat_id=call.message.chat.id,
                    message_id=call.message.message_id,
                    text=enter_all + "\nНичья")
                sleep(5)
                bot.delete_message(call.message.chat.id, delete.message_id)
            else:  # Условие для выигрыша или проигрыша
                if comp_number == "Камень":
                    delete = bot.edit_message_text(
                        chat_id=call.message.chat.id,
                        message_id=call.message.message_id,
                        text=enter_all +
                        "\nТы победил, бумага закатала камень!")
                    sleep(5)
                    bot.delete_message(call.message.chat.id, delete.message_id)
                elif comp_number == "Ножницы":
                    delete = bot.edit_message_text(
                        chat_id=call.message.chat.id,
                        message_id=call.message.message_id,
                        text=enter_all +
                        "\nЯ победил, ножницы разрезали бумагу!")
                    sleep(5)
                    bot.delete_message(call.message.chat.id, delete.message_id)
        elif call.data == "delete":
            bot.delete_message(call.message.chat.id, call.message.message_id)
        elif call.data == "delete_2":
            bot.delete_message(call.message.chat.id, call.message.message_id)
            bot.delete_message(call.message.chat.id,
                               call.message.message_id - 1)
        elif call.data == "dalee_top":
            cursor = conn.cursor()
            try:
                cursor.execute(
                    "SELECT row_number() OVER(ORDER BY message::int DESC), user_id, name, message, new, date_add FROM top_users;"
                )
                rows = cursor.fetchall()
                result_list = []
                del rows[:10]

                for row in rows[:10]:
                    beginner = ""
                    if row[4] == True:
                        beginner = "[Новичок]"
                        date = row[5].split()

                        year = int(date[0])  # Год
                        month = int(date[1])  # Месяц
                        day = int(date[2])  # День

                        date_new = datetime.date(year, month, day)
                        date_last = datetime.datetime.now().day - date_new.day
                        if date_last >= 5:
                            cursor.execute(
                                f"""UPDATE top_users SET new = FALSE WHERE user_id = {row[1]};"""
                            )
                            cursor.execute(
                                f"UPDATE top_users SET date_add = '' WHERE user_id = {row[1]};"
                            )
                            conn.commit()

                    number = row[0]
                    user_id = row[1]
                    last_name = row[2]
                    message = row[3]
                    result = f'{number} ✅ {last_name} ✉ = {message}     {beginner}\n➖➖➖➖➖➖➖➖➖➖➖➖➖➖'
                    result_list.append(result)
                results_lists_last = "\n".join(result_list)
                markup = types.InlineKeyboardMarkup(
                )  #Отвечаем, если выхов был из супер чата
                back_top = types.InlineKeyboardButton(
                    text='🔙', callback_data="back_top"
                )  #Отвечаем, если выхов был из супер чата
                dalee_top_one = types.InlineKeyboardButton(
                    text='🔜', callback_data="dalee_top_one")
                delete = types.InlineKeyboardButton(text="❌",
                                                    callback_data="delete_2")
                markup.add(back_top, dalee_top_one)
                markup.add(delete)  #Отвечаем, если выхов был из супер чата
                bot.edit_message_text(
                    chat_id=call.message.chat.id,
                    message_id=call.message.message_id,
                    text=
                    f"📎Активность пользователей в чате📎\n➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖\n{results_lists_last}",
                    reply_markup=markup)
            except Exception as e:
                print(e)
                markup = types.InlineKeyboardMarkup()
                dalee_top = types.InlineKeyboardButton(
                    text='🔙', callback_data="dalee_top")
                delete = types.InlineKeyboardButton(text="❌",
                                                    callback_data="delete_2")
                markup.add(dalee_top, delete)
                bot.edit_message_text(chat_id=call.message.chat.id,
                                      message_id=call.message.message_id,
                                      text="Таблица пустая, нечего выводить",
                                      reply_markup=markup)
        elif call.data == "back_top":
            cursor = conn.cursor()
            try:
                cursor.execute(
                    "SELECT row_number() OVER(ORDER BY message::int DESC), user_id, name, message, new, date_add FROM top_users;"
                )
                rows = cursor.fetchall()
                result_list = []

                for row in rows[:10]:
                    beginner = ""
                    if row[4] == True:
                        beginner = "[Новичок]"
                        date = row[5].split()

                        year = int(date[0])  # Год
                        month = int(date[1])  # Месяц
                        day = int(date[2])  # День

                        date_new = datetime.date(year, month, day)
                        date_last = datetime.datetime.now().day - date_new.day
                        if date_last >= 5:
                            cursor.execute(
                                f"""UPDATE top_users SET new = FALSE WHERE user_id = {row[1]};"""
                            )
                            cursor.execute(
                                f"UPDATE top_users SET date_add = '' WHERE user_id = {row[1]};"
                            )
                            conn.commit()

                    number = row[0]
                    user_id = row[1]
                    last_name = row[2]
                    message = row[3]
                    result = f'{number} ✅ {last_name} ✉ = {message}     {beginner}\n➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖'
                    result_list.append(result)

                results_lists_last = "\n".join(result_list)
                markup = types.InlineKeyboardMarkup(
                )  #Отвечаем, если выхов был из супер чата
                dalee_top = types.InlineKeyboardButton(
                    text='🔜', callback_data="dalee_top"
                )  #Отвечаем, если выхов был из супер чат
                delete = types.InlineKeyboardButton(text="❌",
                                                    callback_data="delete_2")
                markup.add(dalee_top,
                           delete)  #Отвечаем, если выхов был из супер чата
                bot.edit_message_text(
                    chat_id=call.message.chat.id,
                    message_id=call.message.message_id,
                    text=
                    f"📎Активность пользователей в чате📎\n➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖\n{results_lists_last}",
                    reply_markup=markup)
            except Exception as e:
                print(e)
                bot.edit_message_text(chat_id=call.message.chat.id,
                                      message_id=call.message.message_id,
                                      text="Таблица пустая, нечего выводить")
        elif call.data == "dalee_top_one":
            cursor = conn.cursor()
            try:
                cursor.execute(
                    "SELECT row_number() OVER(ORDER BY message::int DESC), user_id, name, message, new, date_add FROM top_users;"
                )
                rows = cursor.fetchall()
                result_list = []

                beginner = ""
                for row in rows[20:30]:
                    if row[4] == True:
                        beginner = "[Новичок]"
                        date = row[5].split()

                        year = int(date[0])  # Год
                        month = int(date[1])  # Месяц
                        day = int(date[2])  # День

                        date_new = datetime.date(year, month, day)
                        date_last = datetime.datetime.now().day - date_new.day
                        if date_last >= 5:
                            cursor.execute(
                                f"""UPDATE top_users SET new = FALSE WHERE user_id = {row[1]};"""
                            )
                            cursor.execute(
                                f"UPDATE top_users SET date_add = '' WHERE user_id = {row[1]};"
                            )
                            conn.commit()
                    number = row[0]
                    user_id = row[1]
                    last_name = row[2]
                    message = row[3]
                    result = f'{number} ✅ {last_name} ✉ = {message}    {beginner}\n➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖'
                    result_list.append(result)
                results_lists_last = "\n".join(result_list)

                markup = types.InlineKeyboardMarkup(
                )  #Отвечаем, если выхов был из супер чата
                dalee_top = types.InlineKeyboardButton(
                    text='🔙', callback_data="dalee_top"
                )  #Отвечаем, если выхов был из супер чата
                delete = types.InlineKeyboardButton(text="❌",
                                                    callback_data="delete_2")
                markup.add(dalee_top,
                           delete)  #Отвечаем, если выхов был из супер чата
                bot.edit_message_text(
                    chat_id=call.message.chat.id,
                    message_id=call.message.message_id,
                    text=
                    f"📎Активность пользователей в чате📎\n➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖\n{results_lists_last}",
                    reply_markup=markup)
            except Exception as e:
                print(e)
                markup = types.InlineKeyboardMarkup()
                dalee_top = types.InlineKeyboardButton(
                    text='🔙', callback_data="dalee_top")
                delete = types.InlineKeyboardButton(text="❌",
                                                    callback_data="delete_2")
                markup.add(dalee_top, delete)
                bot.edit_message_text(chat_id=call.message.chat.id,
                                      message_id=call.message.message_id,
                                      text="Таблица пустая, нечего выводить",
                                      reply_markup=markup)
コード例 #9
0
ファイル: top.py プロジェクト: evilcatsystem/telegram-bot
def top(m):
    bot.delete_message(m.chat.id, m.message_id)
    cursor = conn.cursor()
    cursor.execute(
        "SELECT row_number() OVER(ORDER BY message::int DESC), user_id, name, message, new, date_add FROM top_users;"
    )
    rows = cursor.fetchall()
    result_list = []

    beginner = ""
    for row in rows[:10]:
        date = row[5]
        if row[4] == True:
            date = row[5].split()
            year = int(date[0])  # Год
            month = int(date[1])  # Месяц
            day = int(date[2])  # День

            date_new = datetime.date(year, month, day)
            date_last = datetime.datetime.now().day - date_new.day
            if date_last >= 5:
                cursor.execute(
                    f"""UPDATE top_users SET new = FALSE WHERE user_id = {row[1]};"""
                )
                cursor.execute(
                    f"UPDATE top_users SET date_add = '' WHERE user_id = {row[1]};"
                )
                conn.commit()
            else:
                beginner = "[Новичок]"

        number = row[0]
        user_id = row[1]
        last_name = row[2]
        message = row[3]
        result = f'{number} ✅ {last_name} ✉ = {message}     {beginner}\n➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖'
        result_list.append(result)
        results_lists_last = "\n".join(result_list)
        #______________________________________________________________
    try:
        markup = types.InlineKeyboardMarkup(
        )  #Отвечаем, если выхов был из супер чата
        dalee_top = types.InlineKeyboardButton(
            text='🔜',
            callback_data="dalee_top")  #Отвечаем, если выхов был из супер чата
        delete = types.InlineKeyboardButton(text="❌", callback_data="delete_2")
        markup.add(dalee_top, delete)  #Отвечаем, если выхов был из супер чата

        info = rows
        messages_list = []  # Создаем списки
        names_list = []

        for line in info[:-10]:  # Берем имена и сообщения, кроме последних 10.
            if line[2] == "과일 🍊":
                names_list.append(
                    "Фрукт"
                )  # Стираем нахой фрукта, потому что ломает все систему
                messages_list.append(line[3])  # своими иероглифами

            if line[2] == "🅨🅤🅡🅨<🐧>":
                names_list.append(
                    "@poruncov"
                )  # Стираем нахой фрукта, потому что ломает все систему
                messages_list.append(line[3])
            else:
                names_list.append(
                    line[2])  # Если их не убрать то надписи будут налазить
                messages_list.append(line[3])  # друг на друга

        end_messages = []

        for line in info[-10:]:  # Берем последние 10 имен
            end_messages.append(int(line[3]))  # Добовляем сообщения в список
        end_messages = sum(end_messages)  # Суммируем их

        labels = names_list
        sizes = messages_list

        labels.append("Другие")
        sizes.append(end_messages)

        with warnings.catch_warnings():
            warnings.simplefilter('ignore')  # Не даем показаться варнингy
            fig1, ax1 = plt.subplots()
            #plt.style.use(['dark_background'])  # Темный фон, ломает цвета
            ax1.pie(sizes,
                    labels=labels,
                    autopct='%1.1f%%',
                    labeldistance=1.08,
                    startangle=30,
                    wedgeprops={'linewidth': 18},
                    shadow=False)

            ax1.axis('equal')
            fig1.savefig('foo.png', bbox_inches='tight')
        bot.send_photo(m.chat.id, open('foo.png', 'rb'))
        #______________________________________________________________
        bot.send_message(
            m.chat.id,
            f"📎Активность пользователей в чате📎\n➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖\n{results_lists_last}",
            reply_markup=markup)
    except InFailedSqlTransaction:
        bot.send_message(m.chat.id, "Таблица пустая, нечего выводить")
コード例 #10
0
def all_handler(message):
	buildGraph()
	f = open("network.png")
	bot.send_photo(message.chat.id, f)
コード例 #11
0
ファイル: profile.py プロジェクト: bopopescu/KorpusBot
def get_profile(message):
    if message.chat.type == 'private':
        if isRang(GetRangs(message.from_user.id, cursor),
                  [2, 3, 4, 5, 6, 7, 8, 9, 10]):
            profile = GetProfile(message.from_user.id, cursor)
            if profile[0] != None:
                string = 'Пользователь: ' + profile[0]
                string += "\nФото: "
                bot.send_message(message.chat.id, string)
                try:
                    bot.send_photo(message.chat.id, profile[3])
                except telebot.apihelper.ApiException:
                    bot.send_message(message.chat.id, 'Фото недоступно')
                try:
                    string = "Телефон: " + str(profile[1])
                except:
                    pass
                try:
                    string = string + "\nGoogle-аккаунт: " + profile[2]
                except:
                    pass
                try:
                    string = string + "\nДата регистрации: " + profile[5]
                    string = string + '\nАвторитет: ' + str(profile[4])
                    if profile[6] == None:
                        string = string + '\nСумма оценок в текущем месяце: 0'
                    else:
                        string = string + '\nСумма оценок в текущем месяце: ' + str(
                            profile[6])
                    if profile[7] != None:
                        string = string + '\nДосье: ' + profile[7]
                    wallet = GetWallet(message.from_user.id, cursor)
                    if wallet != 'wallet':
                        string = string + '\nEtherium-кошелек:' + wallet
                    try:
                        string = string + '\nТокены вклада: ' + str(
                            GetContributionTokens(message.from_user.id,
                                                  cursor))
                        string = string + '\nТокены инвестиций: ' + str(
                            GetInvestmentTokens(message.from_user.id, cursor))
                    except:
                        print("Fix it 2")
                except:
                    print("Fix it")
                string = string + '\nРоли в системе: '
                rangs = GetRangs(message.from_user.id, cursor)
                for rang in rangs:
                    string = string + GetTitleOfRang(rang, cursor) + ', '
                string = string[:len(string) - 2]
                projects = GetProjectsOfUser(message.from_user.id, cursor)
                if len(projects):
                    string += '\nСостоит в проектах: '
                    for project in projects:
                        string += '"' + project[0] + '", '
                    string = string[:len(string) - 2]
                else:
                    string += '\nАктивных проектов нет'
                bot.send_message(message.chat.id,
                                 string,
                                 reply_markup=get_keyboard(
                                     message.from_user.id))
            else:
                bot.send_message(message.chat.id,
                                 "Ой, анкета еще не заполнена",
                                 reply_markup=get_keyboard(
                                     message.from_user.id))
            SetState(message.from_user.id, 6, cursor, db)