Можно ли по меткам построить отчет в телеграм канале
Подскажите, пожалуйста, есть телеграм канал, на него закупается трафик с других каналов, можно ли как-то, на подобие utm метое на сайте, также получить данные по вступившим?
Например, я даю ссылку на рекламируемый ТГ канал подобного вида:
https://t.me/{advertised_channel}? source={source}&advert_campaign={some data}
Где source={source} - источник, другой тг канал, advert_campaign ещё какие-то нужные нам данные.
Задача - собрать информацию, а именно связку Пользователь-Источник откуда пользователь вступил, а если ещё и дополнительные можно собирать ещё какие-то данные, например связку Пользователь-Источник откуда пользователь вступил-Идентификатор рекламы - то будет вообще здорово
Можно ли, где-то и как-то получить статистику, по пользователям и меткам? как и где она хранится и как к ней обращаться?
Ответы (1 шт):
Тебе нужен deep-link
ССЫЛКА
from aiogram import Bot, Dispatcher, executor, types
from aiogram.contrib.fsm_storage.memory import MemoryStorage
from aiogram.types import AllowedUpdates
from aiogram.utils.deep_linking import get_start_link, decode_payload
bot = Bot(token=...)
dp = Dispatcher(bot, storage=MemoryStorage())
@dp.message_handler(commands=['start'])
async def start(msg: types.Message):
# в функции старт обрабатываешь так
if decode_payload(msg.get_args()) == "cur_chanel":
...
async def on_startup(_):
# cur_chanel меняешь на то что тебе нужно,
# к примеру (await bot.get_me()).username
link = await get_start_link("cur_chanel", encode=True)
# ссылка которую нужно дать юзеру
print(link)
# allowed_updates просто полезная штука, чтобы не думать потом,
# почему не работает edited_message_handler, к примеру
if __name__ == '__main__':
executor.start_polling(dp, skip_updates=True, allowed_updates=AllowedUpdates.all(), on_startup=on_startup)