public static void FillWithDefaultData(string name) { var client = ViberBotClient.GetInstance(); var googleSheetsClient = GoogleSheetsClient.GetInstanse(); if (!googleSheetsClient.IsSheetExist(name)) { return; } var firstRow = new List <object>(); firstRow.Add(flatColName); firstRow.AddRange(GetMonthNames()); firstRow.Add(dateColName); firstRow.Add(idColName); firstRow.Add(whoColName); googleSheetsClient.UpdateData(1, 1, firstRow, name); var flatNumbersColumn = new List <object>(); flatNumbersColumn.AddRange(Enumerable.Range(1, client.Settings.FlatsNumber).Select(x => x.ToString())); googleSheetsClient.UpdateColData(2, 1, flatNumbersColumn, name); }
public async Task SetWebhook() { ViberBotClient viberBotClient = new ViberBotClient(""); HttpResponseMessage setWebhook = await viberBotClient.SetWebhook(new Model.RequestModel.Webhook(new System.Uri(""))); string result = await setWebhook.Content.ReadAsStringAsync(); }
public async Task <NotificationResult> SendMessageAsync(string receiverId, string message, CancellationToken cancellationToken) { string errorInfo = null; try { // todo: move to config const string ViberBotToken = "47c1eb868867d4e5-aad8db5a22f2dd7e-74c0ab55cba422c1"; using (var viberClient = new ViberBotClient(ViberBotToken)) { await viberClient.SendTextMessageAsync(new TextMessage() { Receiver = receiverId, Text = message, }); } } catch (ViberRequestApiException ex) { errorInfo = $"{ex.Message} | {ex.Method} | {ex.Request} | {ex.Response}"; } catch (Exception ex) { errorInfo = $"Unhandled exception: {ex.Message}."; } return(new NotificationResult() { IsSuccess = errorInfo == null, ErrorInfo = errorInfo, }); }
public async Task SendMsg() { ViberBotClient viberBotClient = new ViberBotClient(""); HttpResponseMessage setWebhook = await viberBotClient.SendMessage(new TextMessage("test log event reloaded 3", "TestProject", "")); string result = await setWebhook.Content.ReadAsStringAsync(); viberBotClient.Dispose(); TestContext.WriteLine(result); }
static void SensMessage(Options options) { ViberBotClient viberBotClient = new ViberBotClient(Settings.Default.ViberToken); string text = options.Text; string from = options.Sender ?? Settings.Default.ViberClientFrom; var message = new TextMessage(text, from, Settings.Default.ViberClientTo); HttpResponseMessage sendMessage = viberBotClient.SendMessage(message).Result; var stringResp = sendMessage.Content.ReadAsStringAsync().Result; Console.WriteLine(stringResp); }
/// <summary> /// Add services for viber functionality /// </summary> /// <remarks> /// Use it after all <see cref="IAction{T}" /> registration /// </remarks> /// <param name="services"> /// <see cref="IServiceCollection" /> /// </param> /// <param name="configuration">Instance of <see cref="IConfiguration" /></param> /// <param name="isProduction"></param> public static async void AddViberClient(this IServiceCollection services, IConfiguration configuration, bool isProduction) { var viberBotToken = isProduction ? Environment.GetEnvironmentVariable("ViberToken") : configuration.GetSection("Tokens").GetSection("Viber").Value; var telegramBotClient = new ViberBotClient(viberBotToken); services.AddSingleton <IViberBotClient>(telegramBotClient); services.AddScoped <IMessageSender <ViberMessage>, ViberMessageSender>(); services.AddScoped <IHandler <CallbackData>, ViberHandler>(); await SetWebhook(services, configuration); }
public static async Task Execute(CallbackData data) { var receiver = data.Sender.Id; if (int.TryParse(((TextMessage)data.Message).Text, out int userValue)) { //учесть данные в поле трекинга var flats = Handlers.GoogleSheetsHandler.CheckFlatData(data.Sender.Id); if (flats.Any(f => f.ToString() == userValue.ToString())) { await client.SendTextMessage(receiver, $"Вы указали - {userValue}. Уже в списке."); } else if (userValue <= 0 || userValue > ViberBotClient.GetInstance().Settings.FlatsNumber) { await client.SendTextMessage(receiver, $"Вы указали - {userValue}. Номер квартиры должен быть от 1 до {ViberBotClient.GetInstance().Settings.FlatsNumber}."); } else { var trackingData = ViberBotTrackingData.Get(data.Message.TrackingData); trackingData.Add(DataField.FlatNumber.ToString(), userValue.ToString()); //запросить подтверждение var message = new KeyboardMessage { Receiver = receiver, Sender = client.BotUserData, Text = $"Вы указали - {userValue}. Данные верны?", TrackingData = ViberBotTrackingData.Build("СonfirmSetFlatNumberAction", "SetFlatNumberAction", trackingData.Data), Keyboard = KeyboardHandler.YesNoCancel() }; await client.SendMessage(receiver, message); } } else { //неверное значение await client.SendTextMessage(receiver, BotError.BadValue); } }
private static void InitViberBotClient(IServiceCollection services, IConfiguration configuration) { IViberBotClient viberClient = new ViberBotClient(configuration["Token"]); services.AddSingleton(viberClient); }
public async Task <ICollection <EventType> > SetWebhookAsync(string url) { return(await ViberBotClient.GetInstance().SetWebhookAsync($"{url}/api/Webhook")); }
public ViberBot(IConfiguration configuration) : base(configuration) { _cli = new ViberBotClient(configuration.Token); }