예제 #1
0
def TransferMessageToVK(chatid, text, Attachment):

    if Attachment is None:

        try:
            module.vk.messages.send(chat_id=config.getCell('t_' + chatid),
                                    message=text)
        except vk_api.ApiError as error_msg:
            module.vk.messages.send(user_id=config.getCell('t_' + chatid),
                                    message=text)
        #print( 'Сообщение успешно отправлено! ( ' + text + ' )' )

    else:

        GetSticker = db.CheckSticker(Attachment)

        # Если стикер не найден в БД
        if GetSticker is None:
            StickerURL = 'https://api.telegram.org/file/bot{0}/{1}'.format(
                config.getCell('telegram_token'), Attachment)
            SaveSticker(StickerURL, Attachment)
            GetSticker = db.CheckSticker(Attachment)

        #print( GetSticker )

        try:
            module.vk.messages.send(chat_id=config.getCell('t_' + chatid),
                                    message="",
                                    attachment=GetSticker)
        except vk_api.ApiError as error_msg:
            module.vk.messages.send(user_id=config.getCell('t_' + chatid),
                                    message="",
                                    attachment=GetSticker)

    return False
예제 #2
0
def SaveSticker( StickerURL, Attachment ):

	Attachment = Attachment.split('/')

	content = ur.urlopen( StickerURL ).read()

	path = Attachment[0] + '/'
	if not os.path.exists( path ):
		os.makedirs( path )

	# Перекодирование из webp в png

	ImageWebp = path + Attachment[1]

	out = open( ImageWebp, 'wb' )
	out.write( content )
	out.close()

	img = Image.open(ImageWebp)

	if ( config.getCell('vk_sticker_EnableScale') ):
		scale = config.getCell( 'vk_sticker_size' )
		img.thumbnail((scale, scale))
	img.save( ImageWebp + ".png", "PNG")
	os.remove( ImageWebp )

	#print( 'Sticker saved!' )

	Stickers = AddStickerIntoVK( path, Attachment[1] )
	db.AddStickerIntoDb( Stickers )
예제 #3
0
def saveSticker( stickerURL, attachment ):

	attachment = attachment.split('/')

	content = ur.urlopen( stickerURL ).read()

	path = attachment[0] + '/'
	if not os.path.exists( path ):
		os.makedirs( path )

	# Перекодирование из webp в png

	imageWebp = path + attachment[1]

	out = open( imageWebp, 'wb' )
	out.write( content )
	out.close()

	img = Image.open(imageWebp)

	if ( config.getCell('vk_sticker_EnableScale') ):
		scale = config.getCell( 'vk_sticker_size' )
		img.thumbnail((scale, scale))
	img.save( imageWebp + ".png", "PNG")
	os.remove( imageWebp )

	#print( 'Sticker saved!' )

	stickers = addStickerIntoVK( path, attachment[1] )
	db.addStickerIntoDb( stickers )
예제 #4
0
def input_vk():

    while True:

        try:
            #Ставим онлайн боту, чому бы и нет?
            module.vk.account.setOnline()

            # Проверка на наличие подписчиков
            if (config.getCell('vk_AddFriends')):
                checknewfriends()

            rawMessages = module.vk.messages.getConversations(
                filter='unread',
                count=config.getCell('vk_msgForPick'))['items'][0]
            msg = rawMessages['conversation']['peer']
            module.vk.messages.markAsRead(messages_ids=msg['local_id'],
                                          peer_id=msg['id'])

            CheckRedirect_vk(rawMessages)

        # Чтобы не вылетало, а работало дальше
        except BaseException:
            #	print( 'Что-то пошло не так...' )
            continue
예제 #5
0
def input_vk():

    while True:

        try:
            #Ставим онлайн боту, чому бы и нет?
            module.vk.account.setOnline()

            # Проверка на наличие подписчиков
            if config.getCell('vk_AddFriends') == 1:
                checknewfriends()

            rawMessages = module.vk.messages.get(
                out=0, count=config.getCell('vk_msgForPick'))

            for msg in rawMessages['items']:
                if msg['read_state'] == 0:
                    if not msg.get('chat_id') is None:
                        module.vk.messages.markAsRead(messages_ids=msg['id'],
                                                      peer_id=2000000000 +
                                                      msg['chat_id'])
                    else:
                        module.vk.messages.markAsRead(messages_ids=msg['id'],
                                                      peer_id=msg['user_id'])

                    CheckRedirect_vk(msg)

        # Чтобы не вылетало, а работало дальше
        except BaseException:
            #	print( 'Что-то пошло не так...' )
            continue
예제 #6
0
def SaveSticker(StickerURL, Attachment):

    Attachment = Attachment.split('/')

    h = httplib2.Http('.cache')
    response, content = h.request(StickerURL)

    path = Attachment[0] + '/'
    if not os.path.exists(path):
        os.makedirs(path)

    # Перекодирование из webp в png

    ImageWebp = path + Attachment[1]

    out = open(ImageWebp, 'wb')
    out.write(content)
    out.close()

    img = Image.open(ImageWebp)

    if config.getCell('vk_sticker_EnableScale') == 1:
        scale = config.getCell('vk_sticker_size')
        img.thumbnail((scale, scale))
    img.save(ImageWebp + ".png", "PNG")
    os.remove(ImageWebp)

    #print( 'Sticker saved!' )

    Stickers = AddStickerIntoVK(path, Attachment[1])
    db.AddStickerIntoDb(Stickers)
예제 #7
0
def transferAttachmentsToTelegram ( idd, attachments ):

	for j in attachments[0:]:

		attType = j.get( 'type' )
		link = j.get( 'link' )

		if attType == 'photo' or attType == 'sticker':
			module.bot.send_photo( config.getCell( 'vk_' + idd ), link )

		elif attType == 'doc' or attType == 'gif' or attType == 'audio_message':
			module.bot.send_document( config.getCell( 'vk_' + idd ), link )

		elif attType == 'other':
			module.bot.send_message( config.getCell( 'vk_' + idd ), link )

		elif attType == 'video':

			# Потому что в ВК не может отправить полную ссылку на файл видео -_-
			module.bot.send_message( config.getCell( 'vk_' + idd ), link )

		elif attType == 'link':
			# nop
			pass

		else:
			module.bot.send_message( config.getCell( 'vk_' + idd ), '( Неизвестный тип аттачмента ) Type: ' + str(attType))
예제 #8
0
def transferMessagesToTelegram(idd, userName, mbody, fwdList):

    # Условие выполняется в случае какого-либо события
    if userName is None:
        if mbody:
            module.bot.send_message(config.getCell('vk_' + idd), str(mbody))
        return False
    temp = get_weather()
    time = current_time()
    niceText = str(time + str(temp) + ' 🚔' + ': ' + mbody)

    if not fwdList is None:

        forwardText = ''

        for f in fwdList[0:]:
            forwardText = forwardText + str('' + ':' + ' ' + f.get('body') +
                                            ' \n\n')

        module.bot.send_message(config.getCell('vk_' + idd),
                                niceText + '\n\n' + forwardText)

    else:
        module.bot.send_message(config.getCell('vk_' + idd), niceText,
                                str(reply_markup=one_in))
예제 #9
0
def CheckRedirect_vk(msg):

    #print( msg )

    userid = str(msg.get('user_id'))
    chatid = str(msg.get('chat_id'))

    #print( str( config.getCell( 'vk_' + chatid) ) )

    # Сделано на костылях, это я знаю
    # Возможно, когда-нибудь я займусь оптимизацией кода....
    # ( Когда-нибудь... )

    if not config.getCell('vk_' + chatid) is None:

        ForwardMessage = GetFwdMessages(msg, chatid)

        time = current_time()
        UserName = GetUserName(msg)
        mbody = msg.get('body')

        # Чтобы при событии не посылалось пустое сообщение
        if CheckEvents(msg, chatid) is None:
            TransferMessagesToTelegram(time, chatid, UserName, mbody,
                                       ForwardMessage)

        # Проверка на аттачменты, пересланные сообщения, видео...
        if ForwardMessage is None:
            CheckAttachments(msg, chatid)

        return False

    elif not config.getCell('vk_' + userid) is None:

        ForwardMessage = GetFwdMessages(msg, userid)

        time = current_time()
        UserName = GetUserName(msg)
        mbody = msg.get('body')

        TransferMessagesToTelegram(time, userid, UserName, mbody,
                                   ForwardMessage)

        # Проверка на аттачменты, пересланные сообщения, видео...
        # Проверка сделана, чтобы исключить повтор картинки
        if ForwardMessage is None:
            CheckAttachments(msg, userid)

        return False
예제 #10
0
def AddStickerIntoVK(path, Sticker):

    StickerList = []
    OurFile = path + Sticker

    upload = vk_api.VkUpload(vk_session)
    photo = upload.photo(OurFile + ".png",
                         album_id=config.getCell('vk_album_id'))

    if config.getCell('vk_detelestickers') == 1:
        os.remove(OurFile + ".png")

    OurVK = 'photo{}_{}'.format(photo[0]['owner_id'], photo[0]['id'])

    StickerList.append({'sticker_t': OurFile, 'sticker_vk': OurVK})

    return StickerList
예제 #11
0
def AddStickerIntoVK( path, Sticker ):

	StickerList = []
	OurFile = path + Sticker

	upload = vk_api.VkUpload( vk_session )
	photo = upload.photo( OurFile + ".png", album_id = config.getCell( 'vk_album_id' ) )

	if ( config.getCell('vk_detelestickers') ):
		os.remove( OurFile + ".png" )

	OurVK = 'photo{}_{}'.format( photo[0]['owner_id'], photo[0]['id'] )

	StickerList.append( { 'sticker_t':OurFile,
						  'sticker_vk':OurVK } )

	return StickerList
예제 #12
0
def addStickerIntoVK( path, sticker ):

	stickerList = []
	ourFile = path + sticker

	upload = vk_api.VkUpload( vk_session )
	photo = upload.photo( ourFile + ".png", album_id = config.getCell( 'vk_album_id' ) )

	if ( config.getCell('vk_detelestickers') ):
		os.remove( ourFile + ".png" )

	ourVK = 'photo{}_{}'.format( photo[0]['owner_id'], photo[0]['id'] )

	stickerList.append( { 'sticker_t':ourFile,
							'sticker_vk':ourVK } )

	return stickerList
예제 #13
0
def init_vk():

    login = config.getCell('vk_login')
    password = config.getCell('vk_password')

    print("login in vk as: " + login)

    global vk_session

    vk_session = vk_api.VkApi(login, password, captcha_handler=captcha_handler)

    try:
        vk_session.auth()
    except vk_api.AuthError as error_msg:
        print(error_msg)

    module.vk = vk_session.get_api()  # Важная штука

    input_vk()
예제 #14
0
def init_vk():

	login = config.getCell( 'vk_login' )
	password = config.getCell( 'vk_password' )

	print( "login in vk as: " + login )

	global vk_session

	vk_session = vk_api.VkApi( login, password, auth_handler=auth_handler, captcha_handler=captcha_handler )

	try:
		vk_session.auth()
	except vk_api.AuthError as error_msg:
		print( error_msg )

	module.vk = vk_session.get_api() # Важная штука

	input_vk()
예제 #15
0
def TransferMessagesToTelegram( time, idd, UserName, mbody, FwdList ):

	# Условие выполняется в случае какого-либо события
	if UserName is None:
		module.bot.send_message( config.getCell( 'vk_' + idd ), str( mbody ) )
		return False

	NiceText = str( time + ' | ' + UserName + ': ' + mbody )

	if not FwdList is None:

		ForwardText = ''

		for f in FwdList[0:]:
			ForwardText = ForwardText + str( ' | ' + f.get( 'UserName' ) + ':' + ' ' + f.get( 'body' ) + ' \n\n' )

		module.bot.send_message( config.getCell( 'vk_' + idd ), NiceText + '\n\n' + ForwardText )

	else:
		module.bot.send_message( config.getCell( 'vk_' + idd ), NiceText )
예제 #16
0
def TransferMessagesToTelegram( idd, UserName, mbody, FwdList ):

	# Условие выполняется в случае какого-либо события
	if UserName is None:
		module.bot.send_message( config.getCell( 'vk_' + idd ), str( mbody ) )
		return False

	time = current_time()
	NiceText = str( time + ' | ' + UserName + ': ' + mbody )

	if not FwdList is None:

		ForwardText = ''

		for f in FwdList[0:]:
			ForwardText = ForwardText + str( ' | ' + f.get( 'UserName' ) + ':' + ' ' + f.get( 'body' ) + ' \n\n' )

		module.bot.send_message( config.getCell( 'vk_' + idd ), NiceText + '\n\n' + ForwardText )

	else:
		module.bot.send_message( config.getCell( 'vk_' + idd ), NiceText )
예제 #17
0
def TransferMessageToVK( chatid, text, fromUser, Attachment ):

	if ( config.getCell('telegram_SendName') ):
		time = current_time()
		text = str( time + ' | ' + fromUser + ': ' + text )

	if Attachment is None:

		try:
			module.vk.messages.send( chat_id = config.getCell( 't_' + chatid ), message = text )
		except vk_api.ApiError as error_msg:
			module.vk.messages.send( user_id = config.getCell( 't_' + chatid ), message = text )
		#print( 'Сообщение успешно отправлено! ( ' + text + ' )' )

	else:

		GetSticker = db.CheckSticker( Attachment )

		# Если стикер не найден в БД
		if GetSticker is None:
			StickerURL = 'https://api.telegram.org/file/bot{0}/{1}'.format( config.getCell( 'telegram_token' ), Attachment )
			SaveSticker( StickerURL, Attachment )
			GetSticker = db.CheckSticker( Attachment )

		#print( GetSticker )

		try:
			module.vk.messages.send( chat_id = config.getCell( 't_' + chatid ), message = "", attachment = GetSticker )
		except vk_api.ApiError as error_msg:
			module.vk.messages.send( user_id = config.getCell( 't_' + chatid ), message = "", attachment = GetSticker )

	return False
예제 #18
0
def input_vk():
	
	while True:

		try:
			#Ставим онлайн боту, чому бы и нет?
			module.vk.account.setOnline()

			# Проверка на наличие подписчиков
			if ( config.getCell('vk_AddFriends') ):
				checknewfriends()

			rawMessages = module.vk.messages.getConversations( filter='unread', count=config.getCell('vk_msgForPick') )['items'][0]
			msg = rawMessages['conversation']['peer']
			module.vk.messages.markAsRead( messages_ids = msg['local_id'], peer_id = msg['id'] )

			CheckRedirect_vk( rawMessages )

		# Чтобы не вылетало, а работало дальше
		except BaseException:
		#	print( 'Что-то пошло не так...' )
			continue
예제 #19
0
def TransferAttachmentsToTelegram ( idd, attachments ):

	for j in attachments[0:]:

		AttType = j.get( 'type' )
		Link = j.get( 'link' )

		if AttType == 'photo' or AttType == 'sticker':
			module.bot.send_photo( config.getCell( 'vk_' + idd ), Link )

		elif AttType == 'doc' or AttType == 'gif' or AttType == 'audio':
			module.bot.send_document( config.getCell( 'vk_' + idd ), Link )

		elif AttType == 'file':
			module.bot.send_message( config.getCell( 'vk_' + idd ), Link )

		elif AttType == 'video':

			# Потому что в ВК не может отправить полную ссылку на файл видео -_-
			module.bot.send_message( config.getCell( 'vk_' + idd ), Link )

		else:
			module.bot.send_message( config.getCell( 'vk_' + idd ), '( Неизвестный тип аттачмента )' )
예제 #20
0
def init_vk():
	try:
		login = config.getCell( 'vk_login' )
		password = config.getCell( 'vk_password' )
		app = config.getCell( 'app_id' )
	
		print( "login in vk as: " + login )
	
		global vk_session
	
		vk_session = vk_api.VkApi( login, password, app_id=app, auth_handler=auth_handler, captcha_handler=captcha_handler )
	
		try:
			vk_session.auth()
		except vk_api.AuthError as error_msg:
			print( error_msg )
	
		module.vk = vk_session.get_api() # Важная штука
	
		input_vk()
	except:
		traceback.print_exc()
		os._exit(1)
예제 #21
0
def transferMessagesToTelegram( idd, userName, mbody, fwdList ):
	if not hasattr(module, 'bot'):
		return

	# Условие выполняется в случае какого-либо события
	if userName is None:
		if mbody:
			module.bot.send_message( config.getCell( 'vk_' + idd ), str( mbody ) )
		return False

	time = current_time()
	niceText = str( time + ' | ' + userName + ': ' + mbody )

	if not fwdList is None:

		forwardText = ''

		for f in fwdList[0:]:
			forwardText = forwardText + str( ' | ' + f.get( 'userName' ) + ':' + ' ' + f.get( 'body' ) + ' \n\n' )

		module.bot.send_message( config.getCell( 'vk_' + idd ), niceText + '\n\n' + forwardText )

	else:
		module.bot.send_message( config.getCell( 'vk_' + idd ), niceText )
예제 #22
0
def init_telegram():
	try:
		module.bot = telebot.TeleBot( config.getCell( 'telegram_token' ) )
		print( "Successfully loginned in telegram!")
		
		upd = module.bot.get_updates()
		lastUpd = upd[-1:]
		
		if lastUpd:
			print('Skip updates')
			print(lastUpd[0].update_id)
			module.bot.get_updates(lastUpd[0].update_id+1, 1, 1)
		input_telegram()
	except:
		traceback.print_exc()
		os._exit(1)
예제 #23
0
def listener( messages ):
	for m in messages:

		if m.content_type == 'text':

			# На команду 'Дай ID' кидает ID чата
			if m.text == 'Дай ID':
				module.bot.send_message( m.chat.id, str( m.chat.id ) )
				continue

			CheckRedirect_telegram( str( m.chat.id ), str( m.text ), GetUserTName(m.from_user), None )

		elif m.content_type == 'sticker':

			if not ( config.getCell('vk_EnableStickers') ):
				return False

			FilePath = module.bot.get_file( m.sticker.file_id ).file_path

			CheckRedirect_telegram( str( m.chat.id ), str( m.text ), GetUserTName(m.from_user), str( FilePath ) )
예제 #24
0
def listener(messages):
    for m in messages:

        if m.content_type == 'text':

            # На команду 'Дай ID' кидает ID чата
            if m.text == 'Дай ID':
                module.bot.send_message(m.chat.id, str(m.chat.id))
                continue

            CheckRedirect_telegram(str(m.chat.id), str(m.text), None)

        elif m.content_type == 'sticker':

            if config.getCell('vk_EnableStickers') != 1:
                return False

            # Убираем ненужный на конце формат 'webp'
            FilePath = module.bot.get_file(m.sticker.file_id).file_path

            CheckRedirect_telegram(str(m.chat.id), str(m.text), str(FilePath))
예제 #25
0
def listener( messages ):
	try:
		for m in messages:
	
			if m.content_type == 'text':
	
				# На команду 'Дай ID' кидает ID чата
				if m.text == 'Дай ID':
					module.bot.send_message( m.chat.id, str( m.chat.id ) )
					continue
	
				text = m.text
				if not m.reply_to_message is None and not m.reply_to_message.text is None:
					text = '\n>> ' + m.reply_to_message.text + '\n\n' + m.text
	
				checkRedirect_telegram( str( m.chat.id ), str( text ), getUserTName(m.from_user), None )
	
			elif m.content_type == 'sticker':
	
				if not ( config.getCell('vk_EnableStickers') ):
					return False
	
				filePath = module.bot.get_file( m.sticker.file_id ).file_path
				checkRedirect_telegram( str( m.chat.id ), str( m.text ), getUserTName(m.from_user), str( filePath ) )
	
	
			elif m.content_type == 'photo':
				filePath = module.bot.get_file( m.photo[-1].file_id ).file_path
				checkRedirect_telegram( str( m.chat.id ), str( m.caption ), getUserTName(m.from_user), str( filePath ) )
	
			else:
				print(m.content_type)
				print(m)
				
				text = 'В TG произошло событие с типом '+m.content_type
				checkRedirect_telegram( str( m.chat.id ), str( text ), getUserTName(m.from_user), None )
	
	except:
		traceback.print_exc()
		os._exit(1)
예제 #26
0
def CheckRedirect_vk( msg ):

	chatid = str( msg['conversation']['peer']['local_id'] )

	# Проверка на существование переадресации в конфиге
	if not config.getCell( "vk_" + chatid ) is None:

		ForwardMessage = GetFwdMessages( msg['last_message'], chatid )

		UserName = GetUserName( msg['last_message'] )
		mbody = msg['last_message'].get( 'text' )

		# Чтобы при событии не посылалось пустое сообщение
		if CheckEvents( msg, chatid ) is None:
			TransferMessagesToTelegram( chatid, UserName, mbody, ForwardMessage )

		# Проверка на аттачменты, пересланные сообщения, видео...
		# Проверка сделана, чтобы исключить повтор картинки
		if ForwardMessage is None:
			CheckAttachments( msg['last_message'], chatid )

		return False
예제 #27
0
def listener(messages):
    for m in messages:

        if m.content_type == 'text':

            # На команду 'Дай ID' кидает ID чата
            if m.text == 'Дай ID':
                module.bot.send_message(m.chat.id, str(m.chat.id))
                continue

            CheckRedirect_telegram(str(m.chat.id), str(m.text),
                                   GetUserTName(m.from_user), None)

        elif m.content_type == 'sticker':

            if not (config.getCell('vk_EnableStickers')):
                return False

            FilePath = module.bot.get_file(m.sticker.file_id).file_path

            CheckRedirect_telegram(str(m.chat.id), str(m.text),
                                   GetUserTName(m.from_user), str(FilePath))
예제 #28
0
def checkRedirect_vk( msg ):

	chatid = str( msg['conversation']['peer']['local_id'] )

	# Проверка на существование переадресации в конфиге
	if not config.getCell( "vk_" + chatid ) is None:

		forwardMessage = getFwdMessages( msg['last_message'], chatid )

		userName = getUserName( msg['last_message'] )
		mbody = msg['last_message'].get( 'text' )

		# Чтобы при событии не посылалось пустое сообщение
		if checkEvents( msg, chatid ) is None:
			transferMessagesToTelegram( chatid, userName, mbody, forwardMessage )

		# Проверка на аттачменты, пересланные сообщения, видео...
		# Проверка сделана, чтобы исключить повтор картинки
		if forwardMessage is None:
			checkAttachments( msg['last_message'], chatid )

		return False
예제 #29
0
def input_telegram():

	if config.getCell('telegram_useProxy') == 1:
		Proxy_type = str( config.getCell('p_type') )
		Proxy_UserInfo = str( config.getCell('p_user') + ':' + config.getCell('p_password') )
		Proxy_Data = str( config.getCell('p_host') + ':' + config.getCell('p_port') )
		telebot.apihelper.proxy = { 
		'http': '%s://%s@%s' % ( Proxy_type, Proxy_UserInfo, Proxy_Data ),
		'https': '%s://%s@%s' % ( Proxy_type, Proxy_UserInfo, Proxy_Data )
		}

	module.bot.set_update_listener(listener)
	while True: # Костыль на случай timeout'a
		try:
			module.bot.polling(none_stop=False)
		except:
			continue
예제 #30
0
def input_telegram():

	if ( config.getCell('telegram_useProxy') ):
		Proxy_type = str( config.getCell('p_type') )
		Proxy_UserInfo = str( config.getCell('p_user') + ':' + config.getCell('p_password') )
		Proxy_Data = str( config.getCell('p_host') + ':' + config.getCell('p_port') )
		telebot.apihelper.proxy = { 
		'http': '%s://%s@%s' % ( Proxy_type, Proxy_UserInfo, Proxy_Data ),
		'https': '%s://%s@%s' % ( Proxy_type, Proxy_UserInfo, Proxy_Data )
		}

	module.bot.set_update_listener( listener )
	while True: # Костыль на случай timeout'a
		try:
			module.bot.polling(none_stop=False)
		except:
			continue
예제 #31
0
def listener(messages):
    for m in messages:

        if m.content_type == 'text':

            # На команду 'Дай ID' кидает ID чата
            if m.text == '/start':
                module.bot.send_message(m.chat.id,
                                        "Привет Бро",
                                        reply_markup=one_in)
                if m.text == 'где':
                    module.bot.send_location(m.chat.id, lat, lon)
                continue
            if m.text == 'погода':
                tempall_send = get_weather_all()
                module.bot.send_message(m.chat.id,
                                        str(tempall_send),
                                        reply_markup=one_in)
                continue
            checkRedirect_telegram(str(m.chat.id), str(m.text),
                                   getUserTName(m.from_user), None)
        elif m.content_type == 'call':
            if m.call == "location":
                module.bot.send_message(m.chat.id, "Круто!")
            if m.call == "gde":
                module.bot.send_message(m.chat.id, "Ничего, все наладится!")
        elif m.content_type == 'sticker':

            if not (config.getCell('vk_EnableStickers')):
                return False

        filePath = module.bot.get_file(m.sticker.file_id).file_path

        checkRedirect_telegram(str(m.chat.id),
                               str(m.text),
                               getUserTName(m.from_user),
                               str(filePath),
                               reply_markup=one_in)
예제 #32
0
def TransferMessageToVK(chatid, text, fromUser, Attachment):

    if (config.getCell('telegram_SendName')):
        time = current_time()
        text = str(time + ' | ' + fromUser + ': ' + text)

    randid = random.randint(-9223372036854775808, +9223372036854775807)  #int64

    if Attachment is None:

        try:
            module.vk.messages.send(chat_id=config.getCell('t_' + chatid),
                                    message=text,
                                    random_id=randid)
        except vk_api.ApiError as error_msg:
            module.vk.messages.send(user_id=config.getCell('t_' + chatid),
                                    message=text,
                                    random_id=randid)
        #print( 'Сообщение успешно отправлено! ( ' + text + ' )' )

    else:

        GetSticker = db.CheckSticker(Attachment)

        # Если стикер не найден в БД
        if GetSticker is None:
            StickerURL = 'https://api.telegram.org/file/bot{0}/{1}'.format(
                config.getCell('telegram_token'), Attachment)
            SaveSticker(StickerURL, Attachment)
            GetSticker = db.CheckSticker(Attachment)

        #print( GetSticker )

        try:
            module.vk.messages.send(chat_id=config.getCell('t_' + chatid),
                                    message="",
                                    attachment=GetSticker,
                                    random_id=randid)
        except vk_api.ApiError as error_msg:
            module.vk.messages.send(user_id=config.getCell('t_' + chatid),
                                    message="",
                                    attachment=GetSticker,
                                    random_id=randid)

    return False
예제 #33
0
def input_telegram():

	if ( config.getCell('telegram_useProxy') ):
		proxyType = str( config.getCell('p_type') )
		proxyUserInfo = str( config.getCell('p_user') + ':' + config.getCell('p_password') )
		proxyData = str( config.getCell('p_host') + ':' + config.getCell('p_port') )
		telebot.apihelper.proxy = { 
		'http': '%s://%s@%s' % ( proxyType, proxyUserInfo, proxyData ),
		'https': '%s://%s@%s' % ( proxyType, proxyUserInfo, proxyData )
		}
	
	module.bot.set_update_listener( listener )
	while True: # Костыль на случай timeout'a
		try:
			module.bot.polling(none_stop=False)
			time.sleep(10)
		except:
			time.sleep(10)
			traceback.print_exc()
			os._exit(1)
예제 #34
0
def transferMessageToVK( chatid, text, fromUser, attachment ):
	if not hasattr(module, 'vk'):
		return

	if ( config.getCell('telegram_SendName') ):
		time = current_time()
		
		if str(text) == "None":
			text = ""

		text = str( time + ' | ' + fromUser + ': ' + text )

	randid = random.randint(-9223372036854775808, +9223372036854775807) #int64

	if attachment is None:

		try:
			module.vk.messages.send( chat_id = config.getCell( 't_' + chatid ), message = text, random_id=randid )
		except vk_api.ApiError as error_msg:
			module.vk.messages.send( user_id = config.getCell( 't_' + chatid ), message = text, random_id=randid )
		#print( 'Сообщение успешно отправлено! ( ' + text + ' )' )

	else:

		getSticker = db.checkSticker( attachment )

		# Если стикер не найден в БД
		if getSticker is None:
			stickerURL = 'https://api.telegram.org/file/bot{0}/{1}'.format( config.getCell( 'telegram_token' ), attachment )
			saveSticker( stickerURL, attachment )
			getSticker = db.checkSticker( attachment )

		#print( getSticker )

		try:
			module.vk.messages.send( chat_id = config.getCell( 't_' + chatid ), message = text, attachment = getSticker, random_id=randid )
		except vk_api.ApiError as error_msg:
			module.vk.messages.send( user_id = config.getCell( 't_' + chatid ), message = text, attachment = getSticker, random_id=randid )

	return False
예제 #35
0
def init_telegram():

	module.bot = telebot.TeleBot( config.getCell( 'telegram_token' ) )
	print( "Successfully loginned in telegram!")
	input_telegram()
예제 #36
0
def checkRedirect_telegram( chatid, text, fromUser, attachment ):
	if not config.getCell( 't_' + chatid ) is None:
		transferMessageToVK( chatid, text, fromUser, attachment )
		return False
예제 #37
0
def init_telegram():

    module.bot = telebot.TeleBot(config.getCell('telegram_token'))
    print("Successfully loginned in telegram!")
    input_telegram()
예제 #38
0
def CheckRedirect_telegram( chatid, text, fromUser, Attachment ):
	if not config.getCell( 't_' + chatid ) is None:
		TransferMessageToVK( chatid, text, fromUser, Attachment )
		return False
예제 #39
0
def CheckRedirect_telegram(chatid, text, Attachment):
    if not config.getCell('t_' + chatid) is None:
        TransferMessageToVK(chatid, text, Attachment)
        return False
예제 #40
0
def init_telegram():
    module.bot = telebot.TeleBot(config.getCell('telegram_token'))
    tempall_send = get_weather_all()
    print("Подключились к sерверам telegram!" + str(tempall_send))
    input_telegram()