Ответы пользователя по тегу C#
  • Как получить access_hash с приватной супергруппы?

    KPoseidon
    @KPoseidon Автор вопроса
    Шарпист с косяками
    Оказалось проще... Надо было залогиниться в библу и спокойно можно в таком случае собирать access_hash и сhatId за счёт получения апдейтов
    Ответ написан
    Комментировать
  • Как получить список участников чата в Телеграм?

    KPoseidon
    @KPoseidon Автор вопроса
    Шарпист с косяками
    Использовать ТГ Апи библу(с приватными супергруппами не работает)
    Ответ написан
  • Как сделать последовательность в тг боте, которая работает для каждого юзера?

    KPoseidon
    @KPoseidon Автор вопроса
    Шарпист с косяками
    берём и долбашим стейты с юзерайди в бд sqlite
    Ответ написан
    Комментировать
  • Как банить по упоминанию телеграм c#?

    KPoseidon
    @KPoseidon
    Шарпист с косяками
    В ТГ Бот Апи нельзя получить по юзернейму Юзер Айди и т.д.
    Поэтому придётся немного в проект всунуть ТГ Апи(ТГ Апи и ТГ Бот Апи - разные вещи).
    Можешь попробовать библу WTelegram, раз на Шарпе пишешь + тебе так нужно по юзернейму получить данные о юзере.

    В офф сайте телеги регаем наше приложение, чтобы получить api_id и api_hash для нашего будущего клиента, который будет через юзернейм добывать данные о пользователе.

    Примерный код(надеюсь вы не нулёвый Шарпист):

    private static int api_id = 0; //айди клиента с сайта
            private static string api_hash = "хэш клиента с сайта";
    
            private static Client client = new Client(api_id, api_hash); //Инициализация клиента
    
            public static async Task<object[]> GetUserIdByUsernameAsync(string username, string token, Client client) //создаём метод, который будет принимать токен бота, клиента и юзернейм, а дальше в проекте просто вызываем этот метод
            {
                try
                {
                    await client.LoginBotIfNeeded(token);
                    var user = await client.Contacts_ResolveUsername(username);
                    object[] userData = { user.User.id, user.User.first_name };
                    await client.Auth_LogOut();
                    return userData;
                }
                catch(Exception exc)
                {
                    Console.WriteLine(exc);
                    return null;
                }
            }
    Ответ написан