Exemplo n.º 1
0
Arquivo: bot.py Projeto: vb64/Tg2Vk
    def __init__(self, bot_token, master_username, vk_app_id, vk_login,
                 vk_pass):  # pylint: disable=too-many-arguments
        TeleBot.__init__(self, bot_token)

        self.__id = None
        self.__name = None
        self.master_username = master_username

        session = vk.AuthSession(app_id=vk_app_id,
                                 user_login=vk_login,
                                 user_password=vk_pass,
                                 scope="wall, messages")
        self.vk_api = vk.API(session, v='5.35')
Exemplo n.º 2
0
    def __init__(self, logger):
        logger.info("Initializing bot...")
        self.token = open('token', 'r').readline()

        TeleBot.__init__(self, self.token)

        self.users = {}
        for user_file in os.listdir('users/'):
            try:
                user = load('users/' + user_file)
                user.bot = self
            except:
                continue
            self.users[user.id] = user
            self.username2id[user.username] = user.id

        self.logger = logger

        self.code2user = self.get_user_list_from_csv()

        for user in self.code2user.values():
            self.order_male2name[(
                user['order'], 1 if user['sex'] == 'male' else
                0)] = user['name'].split()[1] if len(
                    user['name'].split()) > 1 else user['name']

        # print(self.order_male2name)
        self.con = 0

        self.lock = Lock()

        @TeleBot.message_handler(self, commands=['start'])
        def greeting(message):
            self.lock.acquire()
            if message.from_user.id in self.users:
                self.send_message(message.from_user.id, 'Alredy logged in')
                self.lock.release()
                return
            self.users[message.from_user.id] = User(message.from_user, self)
            self.lock.release()

        @TeleBot.message_handler(self)
        def onNewMessage(message):
            self.lock.acquire()
            encoded_text = message.text.encode("utf-8")
            text = emotions_UTF8.get(encoded_text, message.text)
            # if (encoded_text in emotions_UTF8):
            #     text = emotions_UTF8[encoded_text]
            # else:
            #     text = message.text
            self.logger.info(
                'New message from %s (%s %s): %s' %
                (message.from_user.username, message.from_user.first_name,
                 message.from_user.last_name, encoded_text))
            if not message.from_user.id in self.users:
                self.send_message(message.from_user.id,
                                  'Type "/start" to start')
                self.lock.release()
                return
            self.users[message.from_user.id].onNewMessage(text)
            self.lock.release()

        self.logger.info('Bot initialized')
Exemplo n.º 3
0
 def __init__(self, token, threaded=True, skip_pending=False):
     TeleBot.__init__(self, token, threaded, skip_pending)
     self.worker_pool = ThreadPool(num_threads=4)
Exemplo n.º 4
0
 def __init__(self, telegram_token, metrica_token):
     TeleBot.__init__(self, telegram_token)
     self.metrica_token = metrica_token
Exemplo n.º 5
0
 def __init__(self, *a, **kw):
     TeleBot.__init__(self, *a, **kw)
     self.url_regexps = []
Exemplo n.º 6
0
    def __init__(self, token, parse_mode=None, threaded=True, skip_pending=False, num_threads=2, next_step_backend=None, reply_backend=None):
        """Adding dictionary for keeping last location"""

        TeleBot.__init__(self, token, parse_mode=None, threaded=True, skip_pending=False, num_threads=2, next_step_backend=None, reply_backend=None)
        self.geo_dict = {}