83 lines
2.9 KiB
C#
83 lines
2.9 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data.SqlClient;
|
|
using System.Text.RegularExpressions;
|
|
using System.Threading;
|
|
using Newtonsoft.Json;
|
|
using SvetoforVKBot.Models.Updates;
|
|
using VkNet;
|
|
using VkNet.Model.RequestParams;
|
|
|
|
|
|
namespace SvetoforVKBot.Models.Commands.Admin
|
|
{
|
|
public class SelectGetPhotoCommand : Command
|
|
{
|
|
public override string Name => "/getphoto";
|
|
|
|
public override void Execute(RootObject update, VkApi client, SvetoforVKBot.Data.SvetoforVKBotEntities db)
|
|
{
|
|
MessagesSendParams @params = new MessagesSendParams();
|
|
var chatId = update.@object.message.from_id;
|
|
string str = "";
|
|
|
|
try
|
|
{
|
|
//string[] payload = update.@object.message.text.Split('-');
|
|
string response = "";
|
|
|
|
if (chatId != 59111081) return;
|
|
|
|
foreach (var att in update.@object.message.attachments)
|
|
{
|
|
switch (att.type)
|
|
{
|
|
case "photo":
|
|
var usPhoto = client.Photo.GetMessagesUploadServer(peerId: 0);
|
|
var strArray = att.photo.sizes[att.photo.sizes.Count - 1].url.Split('.');
|
|
|
|
response = UploadFile(
|
|
serverUrl: usPhoto.UploadUrl,
|
|
file: att.photo.sizes[att.photo.sizes.Count - 1].url,
|
|
fileExtension: strArray[strArray.Length - 1]).Result;
|
|
|
|
foreach (var a in client.Photo.SaveMessagesPhoto(response))
|
|
{
|
|
|
|
str = "{\"id\": " + a.Id +
|
|
", \"owner_id\": " + a.OwnerId +
|
|
", \"access_key\": \"" + a.AccessKey + "\"}";
|
|
|
|
}
|
|
break;
|
|
|
|
case "video":
|
|
str = "{\"id\": " + att.video.id +
|
|
", \"owner_id\": " + att.video.owner_id +
|
|
", \"access_key\": \"" + att.video.access_key + "\"}";
|
|
break;
|
|
}
|
|
}
|
|
|
|
@params.Message = str;
|
|
@params.UserId = chatId;
|
|
@params.RandomId = GetRandomId();
|
|
client.Messages.SendAsync(@params);
|
|
}
|
|
catch (Exception ee)
|
|
{
|
|
@params.Message = "‼Ошибка в SelectGetPhotoCommand: " + ee.Message;
|
|
@params.Attachments = null;
|
|
@params.Keyboard = null;
|
|
@params.UserId = 59111081;
|
|
@params.RandomId = GetRandomId();
|
|
client.Messages.SendAsync(@params);
|
|
}
|
|
}
|
|
|
|
public override void ExecutePL(RootObject update, VkApi client, SvetoforVKBot.Data.SvetoforVKBotEntities db)
|
|
{
|
|
}
|
|
}
|
|
}
|