Haskell клиент для работы с DateRegBot API - получение даты регистрации аккаунтов Telegram, ID пользователей по их имени и другие данные.
Через GitHub
Добавьте в ваш cabal.project:
source-repository-package
type: git
location: https://github.com/C0dwiz/DateReg-lib-hs
tag: v1.0.0Или укажите зависимость в .cabal файле:
build-depends: date-reg-api >= 1.0.0Локальная установка
git clone https://github.com/C0dwiz/DateReg-lib-hs
cd DateReg-lib-hs
cabal install{-# LANGUAGE OverloadedStrings #-}
import DateRegAPI
import Data.Default
main :: IO ()
main = do
let config = def
{ configToken = "your-api-token-here"
}
withDateRegAPI config $ \api -> do
-- Получаем дату регистрации по ID пользователя
result <- runExceptT $ runReaderT (runDateRegM (getCreationDateSmart 123456789)) api
case result of
Left err -> putStrLn $ "Error: " ++ show err
Right response -> do
putStrLn $ "User ID: " ++ show (cdrUserId response)
putStrLn $ "Creation Date: " ++ show (cdrCreationDate response)
putStrLn $ "Accuracy: " ++ show (cdrAccuracyPercent response) ++ "%"Определяет приблизительную дату регистрации пользователя Telegram с точностью до месяца. Это самый быстрый, но наименее точный метод.
Параметры:
Int - ID пользователя Telegram
Возвращает:
CreationDateResponse
{ cdrUserId = 6362784873
, cdrCreationDate = "1.2024"
, cdrAccuracyText = "точная запись (100%)"
, cdrAccuracyPercent = 100
}Пример использования:
result <- runExceptT $ runReaderT (runDateRegM (getCreationDateFast 6362784873)) api
case result of
Left err -> putStrLn $ "Error: " ++ show err
Right response -> print responseСтоимость: $0.0005 за запрос
Определяет дату регистрации пользователя Telegram с точностью до месяца. Этот метод использует 12 алгоритмов, включая собственную нейросеть.
Параметры:
Int - ID пользователя Telegram
Возвращает:
CreationDateResponse
{ cdrUserId = 7308887716
, cdrCreationDate = "10.2024"
, cdrAccuracyText = "высокая (87%)"
, cdrAccuracyPercent = 87
}Пример использования:
result <- runExceptT $ runReaderT (runDateRegM (getCreationDateSmart 7308887716)) api
case result of
Left err -> putStrLn $ "Error: " ++ show err
Right response -> print responseСтоимость: $0.001 за запрос
Определяет дату регистрации пользователя Telegram по его username. Метод сначала преобразует username в ID, а затем применяет алгоритм getCreationDateSmart.
Параметры:
Text - Имя пользователя Telegram (можно с @ или без)
Возвращает:
CreationDateByUsernameResponse
{ cdburUsername = "filimono"
, cdburUserId = 678158951
, cdburCreationDate = "12.2018"
, cdburAccuracyText = "высокая (89%)"
, cdburAccuracyPercent = 89
}Пример использования:
result <- runExceptT $ runReaderT (runDateRegM (getCreationDateByUsername "filimono")) api
case result of
Left err -> putStrLn $ "Error: " ++ show err
Right response -> print responseСтоимость: $0.003 за запрос
Преобразует имя пользователя Telegram (username) в ID пользователя и возвращает полную информацию о пользователе.
Параметры:
Text - Имя пользователя Telegram (можно с @ или без)
Возвращает:
ResolveUsernameResponse
{ rurId = 6362784873
, rurFirstName = Just "Pavel"
, rurLastName = Nothing
, rurUsername = Nothing
, rurPhone = Nothing
, rurPremium = True
, rurVerified = False
, rurBot = False
, rurDeleted = False
, rurScam = False
, rurFake = False
, rurAccessHash = Nothing
, rurPhoto = Nothing
, rurUsernames = []
}Пример использования:
result <- runExceptT $ runReaderT (runDateRegM (resolveUsername "telegram")) api
case result of
Left err -> putStrLn $ "Error: " ++ show err
Right userInfo -> do
putStrLn $ "User ID: " ++ show (rurId userInfo)
putStrLn $ "First Name: " ++ maybe "N/A" show (rurFirstName userInfo)
putStrLn $ "Premium: " ++ show (rurPremium userInfo)Библиотека использует систему типов для обработки ошибок. Все функции возвращают Either DateRegError a.
Типы ошибок:
AuthenticationError - ошибка аутентификации (неверный токен)
PaymentError - недостаточно средств на балансе
ForbiddenError - доступ запрещен
NotFoundError - endpoint не найден
ServerError - внутренняя ошибка сервера
NetworkError - ошибка сети
ParseError - ошибка парсинга ответа
ValidationError - ошибка валидации входных данных
- Откройте бота @dateregbot в Telegram
- Отправьте команду
/apiили нажмите на гиперссылку API в главном меню - Скопируйте API-ключ
| Метод | Стоимость за запрос | Стоимость за 1000 запросов |
|---|---|---|
getCreationDateFast |
$0.0005 | $0.5 |
getCreationDateSmart |
$0.001 | $1.0 |
getCreationDateByUsername |
$0.003 | $3.0 |
resolveUsername |
$0.0025 | $2.5 |
Если у вас возникли вопросы или проблемы:
- 📖 Документация API
- 💬 Telegram: @gitapps
- 🤖 Бот: @dateregbot