当前位置: 首页>>代码示例>>Python>>正文


Python TelegramBot.get_me方法代码示例

本文整理汇总了Python中twx.botapi.TelegramBot.get_me方法的典型用法代码示例。如果您正苦于以下问题:Python TelegramBot.get_me方法的具体用法?Python TelegramBot.get_me怎么用?Python TelegramBot.get_me使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在twx.botapi.TelegramBot的用法示例。


在下文中一共展示了TelegramBot.get_me方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: YoutubeBot

# 需要导入模块: from twx.botapi import TelegramBot [as 别名]
# 或者: from twx.botapi.TelegramBot import get_me [as 别名]
class YoutubeBot(object):

    api_token = ''

    def __init__(self):
        self.bot = TelegramBot(self.api_token)
        self.bot.get_me()
        last_updates = self.bot.get_updates(offset=0).wait()
        try:
            self.last_update_id = list(last_updates)[-1].update_id
        except IndexError:
            self.last_update_id = None
        print 'last update id: {}'.format(self.last_update_id)

    def process_message(self, message):

        text = message.message.text
        chat = message.message.chat
        text = text.strip().split('&')[0]
        msg = 'Could not download {}'.format(text)
        print 'Got message: \33[0;32m{}\33[0m'.format(text)
        try:
            self.bot.send_message(chat.id, 'Staring to download')
            with youtube_dl.YoutubeDL(YDL_OPTS) as ydl:
                r_code = ydl.download([text])
                if r_code == 0:
                    msg = '{} download successfully'.format(text)
        except Exception:
            pass
        self.bot.send_message(chat.id, msg)

    def run(self):
        print 'Main loop started'
        while True:
            updates = self.bot.get_updates(
                offset=self.last_update_id).wait()
            try:
                for update in updates:
                    if update.update_id > self.last_update_id:
                        self.last_update_id = update.update_id
                        self.process_message(update)
            except Exception as ex:
                print traceback.format_exc()
开发者ID:gh0st-dog,项目名称:youtube_bot,代码行数:45,代码来源:youtube_bot.py

示例2: Telegram

# 需要导入模块: from twx.botapi import TelegramBot [as 别名]
# 或者: from twx.botapi.TelegramBot import get_me [as 别名]
class Telegram(object):
    def __init__(self, config, interpreter):
        super().__init__()
        self.__interpreter = interpreter
        self.__logger = logging.getLogger('telegram')
        logHandler = StreamHandler()
        logHandler.setLevel(logging.DEBUG)
        self.__logger.addHandler(logHandler)

        self.__bot = TelegramBot(config['Telegram']['token'])
        self.__logger.warning("Bot details: " + str(self.__bot.get_me().wait()))

        self.__updateOffset = None

    def send_msg(self, telegram_id, text):
        self.__bot.send_message(telegram_id, text).wait()

    def getUpdates(self, dbSession):
        updates = None
        try:
            if self.__updateOffset is not None:
                updates = self.__bot.get_updates(offset=self.__updateOffset + 1).wait()
            else:
                updates = self.__bot.get_updates().wait()

            if updates is None:
                raise Exception("No updates have been received due to an error")
        except:
            return

        for update in updates:
            if hasattr(update, 'message'):
                self.__logger.warning(str(update.message.sender) + ": " + update.message.text)
                self.__interpreter.interpret(dbSession, self, update.message.sender, update.message.text.split(' '))
            if hasattr(update, 'update_id'):
                self.__updateOffset = update.update_id

    def shutdown(self):
        pass
开发者ID:rpoisel,项目名称:willhaben_notify,代码行数:41,代码来源:telegram.py

示例3: NimBot

# 需要导入模块: from twx.botapi import TelegramBot [as 别名]
# 或者: from twx.botapi.TelegramBot import get_me [as 别名]
class NimBot(object):
    token = config.token
    
    def __init__(self):
        self.bot = TelegramBot(self.token)
        self.bot.get_me()
        last_updates = self.bot.get_updates(offset=0).wait()
        try:
            self.last_update_id = list(last_updates)[-1].update_id
        except IndexError:
            self.last_update_id = None
        print('last update id: {0}'.format(self.last_update_id))
 
    def read_current_state(self, chat_id):
        connection = pymysql.connect(host=config.sql_host,
                                     user=config.sql_user,
                                     password=config.sql_user_password,
                                     db=config.sql_db,
                                     charset=config.sql_charset,
                                     cursorclass=pymysql.cursors.DictCursor)
        try:
            with connection.cursor() as cursor:
                sql = "SELECT chat_id, num1, num2, num3 FROM data WHERE chat_id = {}".format(chat_id)
                cursor.execute(sql)
                row = cursor.fetchone()
        finally:
            cursor.close()
            connection.close()
            return row

    def write_new_user(self, chat_id, num1, num2, num3):
        connection = pymysql.connect(host=config.sql_host,
                                     user=config.sql_user,
                                     password=config.sql_user_password,
                                     db=config.sql_db,
                                     charset=config.sql_charset,
                                     cursorclass=pymysql.cursors.DictCursor)
        try:
            with connection.cursor() as cursor:
                sql = "INSERT INTO data (chat_id, num1, num2, num3) VALUES({}, {}, {}, {})".format(chat_id, num1, num2, num3)
                cursor.execute(sql)
                connection.commit()
        finally:
            cursor.close()
            connection.close()

    def write_current_state(self, chat_id, num1, num2, num3):
        connection = pymysql.connect(host=config.sql_host,
                                     user=config.sql_user,
                                     password=config.sql_user_password,
                                     db=config.sql_db,
                                     charset=config.sql_charset,
                                     cursorclass=pymysql.cursors.DictCursor)
        try:
            with connection.cursor() as cursor:
                sql = "UPDATE data SET num1={1}, num2={2}, num3={3} WHERE chat_id = {0}".format(chat_id, num1, num2, num3)
                cursor.execute(sql)
                connection.commit()
        finally:
            cursor.close()
            connection.close()

    def write_message(self, chat_id, title, username, first_name, last_name, text):
        connection = pymysql.connect(host=config.sql_host,
                                     user=config.sql_user,
                                     password=config.sql_user_password,
                                     db=config.sql_db,
                                     charset=config.sql_charset,
                                     cursorclass=pymysql.cursors.DictCursor)
        try:
            with connection.cursor() as cursor:
                sql = "INSERT INTO messages (chat_id, title, username, first_name, last_name, text) VALUES({}, '{}', '{}', '{}', '{}', '{}')".format(chat_id, title, username, first_name, last_name, text)
                cursor.execute(sql)
                connection.commit()
        finally:
            cursor.close()
            connection.close()

    def check_user_numbers(self, list_from_db, list_from_user):
        list_from_db_work = list(list_from_db)
        list_from_user_work = list(list_from_user)
        for number in list_from_user:
            if number in list_from_db_work:
                list_from_db_work.remove(number)
                list_from_user_work.remove(number)
        if len(list_from_db_work)!=1 or len(list_from_user_work)!=1:
            return -1
        elif list_from_db_work[0] < list_from_user_work[0]:
            return -2
        else:
            return 0

    def make_a_move(self, list_from_user):
        random_decision = random.randint(0,100)
        if random_decision>30:
            return self.make_a_move_smart(list_from_user)
        elif random_decision<=30:
            return self.make_a_move_random(list_from_user)

    def make_a_move_random(self, list_from_user):
#.........这里部分代码省略.........
开发者ID:moskmax,项目名称:nim_telegrambot,代码行数:103,代码来源:nimbot.py

示例4: range

# 需要导入模块: from twx.botapi import TelegramBot [as 别名]
# 或者: from twx.botapi.TelegramBot import get_me [as 别名]
	for i in range(1,300):
		time.sleep(0.04)
		bot.get_updates(i, limit=1)

print "Hello World!"

"""
Setup the bot
"""

bot = TelegramBot('172048491:AAG253i7GAR-AxQTX7bZlhlJmAPQu6n_3b0')
bot.set_webhook() # remove webhook
bot.update_bot_info().wait()
print(bot.username)

botUser = bot.get_me().wait()
print(botUser)

#updates = bot.get_updates(159).wait()
#for update in updates:
#	update=update

#print("update:           ", update)

#message_id = update.message.message_id;
#first_name = update.message.sender.first_name;


#print( "message_id: ", message_id)
#print( "name: ", first_name)
开发者ID:megaadam,项目名称:zak,代码行数:32,代码来源:zak2.py

示例5: TGBot

# 需要导入模块: from twx.botapi import TelegramBot [as 别名]
# 或者: from twx.botapi.TelegramBot import get_me [as 别名]
class TGBot(object):
    def __init__(self, token, plugins=[], no_command=None, db_url=None):
        self._token = token
        self.tg = TelegramBot(token)
        self._last_id = None
        self.cmds = {}
        self.pcmds = {}
        self._no_cmd = no_command
        self._msgs = {}
        self._plugins = plugins

        if no_command is not None:
            if not isinstance(no_command, TGPluginBase):
                raise NotImplementedError("%s does not subclass tgbot.TGPluginBase" % type(no_command).__name__)

        for p in self._plugins:

            if not isinstance(p, TGPluginBase):
                raise NotImplementedError("%s does not subclass tgbot.TGPluginBase" % type(p).__name__)

            for cmd in p.list_commands():

                if not isinstance(cmd, TGCommandBase):
                    raise NotImplementedError("%s does not subclass tgbot.TGCommandBase" % type(cmd).__name__)

                if cmd in self.cmds or cmd in self.pcmds:
                    raise Exception(
                        "Duplicate command %s: both in %s and %s"
                        % (cmd.command, type(p).__name__, self.cmds.get(cmd.command) or self.pcmds.get(cmd.command))
                    )

                if cmd.prefix:
                    self.pcmds[cmd.command] = cmd
                else:
                    self.cmds[cmd.command] = cmd

        if db_url is None:
            self.db = connect("sqlite:///:memory:")
            models.database_proxy.initialize(self.db)
            self.setup_db()
        else:
            self.db = connect(db_url)
            self.db.autorollback = True
            models.database_proxy.initialize(self.db)

    def update_bot_info(self):
        # re-implement update_bot_info to make it synchronous
        if self.tg.username is None:
            self.tg._bot_user = self.tg.get_me().wait()

    def process_update(self, update):  # noqa not complex at all!
        self.update_bot_info()
        message = update.message

        try:
            models.User.create(
                id=message.sender.id, first_name=message.sender.first_name, last_name=message.sender.last_name
            )
        except peewee.IntegrityError:
            pass  # ignore, already exists

        if message.left_chat_participant is not None and message.left_chat_participant.username == self.tg.username:
            models.GroupChat.delete().where(models.GroupChat.id == message.chat.id).execute()
        elif isinstance(message.chat, GroupChat):
            try:
                models.GroupChat.create(id=message.chat.id, title=message.chat.title)
            except peewee.IntegrityError:
                pass

        if message.new_chat_participant is not None and message.new_chat_participant != self.me:
            try:
                models.User.create(
                    id=message.new_chat_participant.id,
                    first_name=message.new_chat_participant.first_name,
                    last_name=message.new_chat_participant.last_name,
                )
            except peewee.IntegrityError:
                pass  # ignore, already exists

        if message.contact is not None:
            try:
                models.User.create(
                    id=message.contact.user_id,
                    first_name=message.contact.first_name,
                    last_name=message.contact.last_name,
                )
            except peewee.IntegrityError:
                pass  # ignore, already exists

        if message.text is not None and message.text.startswith("/"):
            spl = message.text.find(" ")

            if spl < 0:
                cmd = message.text[1:]
                text = ""
            else:
                cmd = message.text[1:spl]
                text = message.text[spl + 1 :]

            spl = cmd.find("@")
#.........这里部分代码省略.........
开发者ID:pmpfl,项目名称:tgbotplug,代码行数:103,代码来源:tgbot.py

示例6: DigestBot

# 需要导入模块: from twx.botapi import TelegramBot [as 别名]
# 或者: from twx.botapi.TelegramBot import get_me [as 别名]
class DigestBot(object):
    token = '146027849:AAGY5g94uLZRfURyEZrkOuh5Kvn23GnFZC4' #Super secret bot token
    stack_list = []
    admin = 'Pablozzz'                                      #admin name
 
    def __init__(self):
        self.bot = TelegramBot(self.token)
        self.bot.get_me()
        last_updates = self.bot.get_updates(offset=0).wait()
        try:
            self.last_update_id = list(last_updates)[-1].update_id
        except IndexError:
            self.last_update_id = None
        print('last update id: {0}'.format(self.last_update_id))
 
    def process_message(self, message):                     #function for chech messages and send answers
        text = message.message.text
        chat = message.message.chat
        text = text.strip()
        bot_name = "zaurtox_bot"
                                                            #Substrings in messages = commands
        Toxa = "/Toxa"
        Zaur = "/Zaur"
        News = "/News"
        Help = "/Help"
        Valuta = "/Valuta"
        Start = "/Start"
        Slogan = "/Pogovorka"
        Leha = "/Leha"
        Igor = "/Igor"
        Pasha = "/Pasha"
        Photo = "/Photo"
        Sticker = "/Sticker"
        Bash = "/Bash"
                                                        #logger : print susbstr if catch that in message
        print('Got message: \33[0;32m{0}\33[0m from chat: {1}'.format(text, chat))


        try:
                                                            # commands
            #Help : print all supported commands
            if Help  in text:
                bot_answer = 'Команды /Help /News /Zaur /Toxa /Valuta /Pogovorka /Photo /Sticker /Bash\n'
                try:
                    self.bot.send_message(chat.id, bot_answer)
                except Exception:
                    self.bot.send_message(chat.id, 'Unknow error. Sorry.')
            #Start command it's nessesary for telegramm rules complete
            if Start  in text:
                bot_answer = 'Это эмоциональный бот, который может помочь с новостями и комментариями к ним /Help  \n'
                try:
                    self.bot.send_message(chat.id, bot_answer)
                except Exception:
                    self.bot.send_message(chat.id, 'Unknow error. Sorry.')
            #News parse news from rbc.ru rss and send in chat
            if News in text:
                d = feedparser.parse('http://static.feed.rbc.ru/rbc/internal/rss.rbc.ru/rbc.ru/news.rss')
                bot_answer =d['entries'][0]['title']+" "+d.entries[0]['link']
                try:
                    self.bot.send_message(chat.id, bot_answer)
                except Exception:
                    self.bot.send_message(chat.id, 'Unknow error. Sorry.')
            #Parse currenty rate and send in chat
            if Valuta in text:
                speaker=["Как заявил Антон Силуанов",
                         "Как заявил Алексей Улюкаев",
                         "Как заявила Эльвира Набиулина"]
                i = random.randrange(0,3,1)
                sentense = speaker[i] +", обоснованным курсом рубля явлеется: "
                HOST = "www.sberometer.ru"
                PORT = 80
                conn = http.client.HTTPConnection(HOST, PORT)
                conn.request("GET", "/")
                res = conn.getresponse()
                data = res.read()
                conn.close()
                answer = str(data)
                pos = answer.find("cursNow")
                bot_answer= sentense + answer[(pos+11):(pos+34):1]
                try:
                    self.bot.send_message(chat.id, bot_answer)
                except Exception:
                    self.bot.send_message(chat.id, 'Unknow error. Sorry.')
            #Parse strory from bach.org rss and print in chat
            if Bash in text:
                d = feedparser.parse('http://bash.im/rss/')
                bot_answer =d['entries'][0]['title']+" "+d.entries[0]['link']
                try:
                    self.bot.send_message(chat.id, bot_answer)
                except Exception:
                    self.bot.send_message(chat.id, 'Unknow error. Sorry.')
            #Select random slogan from file "pogovorki.txt" and send in chat
            if Slogan in text:
                fp = open("pogovorki.txt")
                lines = fp.readlines()
                fp.close()
                phrase = ["Как говорил мой дед: ",
                          "Как говорят у нас в народе: ",
                          "Народная мудрость: ",
                          "Как мы все знаем: "]
#.........这里部分代码省略.........
开发者ID:pablozzz,项目名称:zaurtox_bot,代码行数:103,代码来源:ZaurTox.py

示例7: BullsAndCowsNumbersBot

# 需要导入模块: from twx.botapi import TelegramBot [as 别名]
# 或者: from twx.botapi.TelegramBot import get_me [as 别名]
class BullsAndCowsNumbersBot(object):
    token = config.token
    
    def __init__(self):
        self.bot = TelegramBot(self.token)
        self.bot.get_me()
        last_updates = self.bot.get_updates(offset=0).wait()
        try:
            self.last_update_id = list(last_updates)[-1].update_id
        except IndexError:
            self.last_update_id = None
        print('last update id: {0}'.format(self.last_update_id))

    def check_user_answer(self, text):
        nums = '0123456789'
        if len(text)!=4:
            return False
        else:
            if not(text[0] in nums) or not(text[1] in nums) or not(text[2] in nums) or not(text[3] in nums):
                return False
            else:
                return True
                
    def answer_for_attempt(self, number_for_solve, number_attempt):
        indexes_in_number_for_solve = [0, 1, 2, 3]
        indexes_in_number_attempt = [0, 1, 2, 3]
        number_of_bulls = 0
        number_of_cows = 0
        # посчитаем количество быков
        i = 0
        while i < 4:
            if number_for_solve[i] == number_attempt[i]:
                number_of_bulls = number_of_bulls + 1
                indexes_in_number_for_solve.remove(i)
                indexes_in_number_attempt.remove(i)
            i = i + 1
        # посчитаем количество коров
        i = 0
        while i < 4:
            if i in indexes_in_number_attempt:
                for j in indexes_in_number_for_solve:
                    if number_for_solve[j] == number_attempt[i]:
                        number_of_cows = number_of_cows + 1
                        indexes_in_number_for_solve.remove(j)
                        break
            i = i + 1
        return {'number_of_bulls': number_of_bulls, 'number_of_cows': number_of_cows}

    def check_is_repeat(self, list_of_attempts, text):
        for element in list_of_attempts:
            if element[0] == text:
                return True
        return False

    def process_message(self, message):
        text = message.message.text
        chat = message.message.chat
        text = text.strip()

        print('{2} Got message: \33[0;32m{0}\33[0m from chat: {1}'.format(text, chat, strftime("%Y-%m-%d %H:%M:%S", gmtime())))

        try:
            if text == '/start':
                bot_answer = 'Это игра "Быки и коровы"\nИгра состоит в том, что я загадал число, а вам нужно его отгадать за меньшее число попыток.\n\
Чтобы прочитать правила воспользуйтесь командой /help\nИтак, я загадал число. Угадывайте'
                try:
                    result = mariadb_connector.read_current_game_state(chat.id)
                    num1 = str(random.randint(0, 9))
                    num2 = str(random.randint(0, 9))
                    num3 = str(random.randint(0, 9))
                    num4 = str(random.randint(0, 9))
                    number_for_solve = ''.join([num1, num2, num3, num4])
                    if (result == None):
                        mariadb_connector.write_new_user(chat.id, number_for_solve)
                    else:
                        mariadb_connector.write_current_game_state(chat.id, number_for_solve, None)
                    self.bot.send_message(chat.id, bot_answer)
                except Exception:
                    self.bot.send_message(chat.id, 'Unknow error. Sorry.')
            elif text == '/help':
                bot_answer = 'Это игра "Быки и Коровы"\n\
Я загадываю число из 4 цифр. Цифры могут повторяться, число может начинаться с нуля, т.е. я могу загадать даже такое число: 0103.\n\
Вам нужно отгадать число. Чем меньше попыток - тем лучше.\nДля того чтобы сделать попытку, просто напечатайте в ответ 4 цифры, например: 1234.\n\
После каждой вашей попытки я даю подсказку: количество быков и коров в вашем числе.\n\
Бык - это цифра, которая присутствует в загаданном числе и стоит на своем месте.\n\
Корова - это цифра, которая пристуствует в загаданном числе но стоит на другом месте.\n\
Т.е. например я загадал число 1234, вы отвечаете 1458: 1Б 1К (1 бык и 1 корова).\n\
Цифра 1 в вашем ответе это бык, т.к. в загаданном числе на первом месте тоже 1.\n \
Цифра 4 в вашем ответе это корова, т.к. в загаданном числе она есть, но должна стоять на четвертом месте.\n \
Цифры 5 и 8 в вашем ответе животными не являются, т.к. отсутствуют в загаданном числе.\n \
Чтобы прочитать более подробное объяснение как считаются быки и коровы, с пояснением сложных примеров, воспользуйтесь командой /rules'
                try:
                    self.bot.send_message(chat.id, bot_answer)
                except Exception:
                    self.bot.send_message(chat.id, 'Unknow error. Sorry.')
            elif text == '/rules':
                bot_answer = 'Подробнее о том как определется число быков и коров.\n\
Пример: загадано 0250, ваш ответ 0202.\n\
1) Считаем количество быков, для этого смотрим цифры вашего ответа по порядку.\n\
-первая цифра 0 - бык, т.к. в 0250 на первом месте тоже 0\n\
#.........这里部分代码省略.........
开发者ID:moskmax,项目名称:bulls_and_cows_numbers,代码行数:103,代码来源:bcnbot.py


注:本文中的twx.botapi.TelegramBot.get_me方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。