コード例 #1
0
        private static void ResetBotDisguisedAsUserBotMethod()
        {
            var lines    = File.ReadAllText(Paths.Info.ConfigBotDisguisedAsUserBotsInfo).Split(RowSeparator);
            var botInfos = new List <BotDisguisedAsUserBotInfo>();

            foreach (var t in lines)
            {
                var line = t;
                if (string.IsNullOrEmpty(line))
                {
                    continue;
                }

                line = line.Trim();

                if (string.IsNullOrEmpty(line))
                {
                    continue;
                }

                var lineInfo = line.Split(ColumnSeparator);

                var bot = new BotDisguisedAsUserBotInfo();
                bot.SetApiId(lineInfo[0].Trim());
                bot.SetApiHash(lineInfo[1].Trim());
                bot.SetUserId(lineInfo[2].Trim());
                bot.SetToken(lineInfo[3].Trim());
                bot.SetIsBot(BotTypeApi.DISGUISED_BOT);

                botInfos.Add(bot);
            }

            FileSerialization.WriteToBinaryFile(Paths.Bin.ConfigBotDisguisedAsUserbot, botInfos);
        }
コード例 #2
0
        public static async Task <TelegramClient> ConnectAsync(BotDisguisedAsUserBotInfo userbot)
        {
            var apiId = userbot.GetApiId();

            if (apiId == null)
            {
                return(null);
            }

            var t = new TelegramClient(apiId.Value, userbot.GetApiHash(), sessionUserId: userbot.GetSessionUserId());
            await t.ConnectAsync();

            if (t.IsUserAuthorized())
            {
                return(t);
            }

            var r = await t.AuthImportBotAuthorization(userbot.GetToken());

            return(r?.User != null ? t : null);
        }