Пример #1
0
        public static async Task <TelegramBotClient> GetAsync()
        {
            Task InitClientAsync()
            {
                client = new TelegramBotClient(ApiKey);

                var url = Url.AddControllerName(new MessageController(null, null));

                return(client.SetWebhookAsync(url));
            }

            if (client != null)
            {
                return(client);
            }

            await semaphore.WaitAsync();

            try
            {
                if (client == null)
                {
                    await InitClientAsync();
                }
            }
            finally
            {
                semaphore.Release();
            }

            return(client);
        }
Пример #2
0
        public static TelegramBotClient Get()
        {
            void InitClient()
            {
                client = new TelegramBotClient(ApiKey);

                var url = Url.AddControllerName(new MessageController(null, null));

                client.SetWebhookAsync(url).GetAwaiter().GetResult();
            }

            if (client != null)
            {
                return(client);
            }

            lock (locker)
            {
                if (client == null)
                {
                    InitClient();
                }
            }

            return(client);
        }