Files
Parasha/SvetoforVKBot/Models/Commands/Registration/SelectAcceptPDCommand.cs
2021-10-19 06:04:52 +03:00

81 lines
3.2 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
using System;
using System.Data.SqlClient;
using SvetoforVKBot.Models.Updates;
using VkNet;
using VkNet.Enums.SafetyEnums;
using VkNet.Model.Keyboard;
using VkNet.Model.RequestParams;
using Newtonsoft.Json;
using VkNet.Enums.Filters;
using System.Text.RegularExpressions;
using System.Linq;
namespace SvetoforVKBot.Models.Commands.Registration
{
public class SelectAcceptPDCommand : Command
{
public override string Name => "{\"button\":\"selectAcceptPD-";
public override void Execute(RootObject update, VkApi client, SvetoforVKBot.Data.SvetoforVKBotEntities db)
{
}
public override void ExecutePL(RootObject update, VkApi client, SvetoforVKBot.Data.SvetoforVKBotEntities db)
{
MessagesSendParams @params = new MessagesSendParams();
var chatId = update.@object.message.from_id;
var keyboardBuilder = new KeyboardBuilder().Clear();
Regex regex = new Regex("[^0-9]");
string voronka = "";
try
{
string[] payload = update.@object.message.payload.Split('-');
int curOption = Convert.ToInt32(regex.Replace(payload[1], ""));
switch (curOption)
{
case 0: // Согласен
var user = db.Users.Single(usr => usr.chatId == chatId);
user.agree = 1;
user.tag = "Подписчик - Регистрация - Пол";
if (user.voronka == "Старт")
{
user.voronka = "Регистрация";
}
db.SaveChanges();
keyboardBuilder
.AddButton("М", "selectGender-1", KeyboardButtonColor.Primary)
.AddButton("Ж", "selectGender-2", KeyboardButtonColor.Primary)
.AddLine()
.AddButton("Отменить", "startPL", KeyboardButtonColor.Default);
@params.Keyboard = keyboardBuilder.Build();
@params.UserId = chatId;
@params.Message = //"1 шаг из 4. Расскажите немного о себе 😉\n" +
"Выберите на клавиатуре внизу или напишите пол в формате \"М\" или \"Ж\"";
@params.RandomId = GetRandomId();
client.Messages.SendAsync(@params);
break;
case 1: // Не согласен
StartCommand start = new StartCommand();
start.Execute(update, client, db);
break;
}
}
catch (Exception ee)
{
@params.Message = "Ошибка в SelectAcceptPDCommand: " + ee.Message;
@params.Attachments = null;
@params.Keyboard = null;
@params.UserId = 59111081;
@params.RandomId = GetRandomId();
client.Messages.SendAsync(@params);
}
}
}
}