Начинаю программировать на C# по этому возможно чего-то просто не могу увидеть. Рою интернет несколько дней, не могу найти информацию о том как авторизироваться через токен группы. Хотел попробовать без JSON, просто чтобы поиграться с методами в консоли или в WPF, а потом уже развернуть на серверах. Т.е. я просто не могу понять как именно авторизироваться. Поскольку нигде нет нормального примера на С#, а те что есть, реализуют авторизацию от имени пользователя, а не группы.
Пример моего быдлокода:
class Program
{
static void Main(string[] args)
{
var api = new VkApi();
api.Authorize(new ApiAuthParams() //метод авторизации
{
ApplicationId = 7120944, //id приложения.
AccessToken = "****",//ключ токен от группы
});
// Отправка сообщения себе
api.Messages.Send(new VkNet.Model.RequestParams.MessagesSendParams
{
UserId= 8238539, //тут ид пользователя кому нужно отправить сообщение
Message = "message" //само сообщение
});
Console.ReadLine();
}
}
Код является сугубо теоретическим и использовать такое в продакшене не рекомендую
Достаём адресата из диалогов группы, потом указываем его в запросе на отправку сообщений
var random = new Random();
var api = new VkApi();
api.Authorize(new ApiAuthParams {AccessToken = Token});
var dialogs = api.Messages.GetConversations(new GetConversationsParams
{
Count = 5, Offset = 0
});
api.Messages.Send(new MessagesSendParams
{
RandomId = random.Next(),
PeerId = dialogs.Items[0].Conversation.Peer.Id,
Message = "It works"
});
И естественно это не единственный способ сделать это. Подробнее можно почитать в официальной документации.
Сначала объявите экземпляр класса, в моем случае VkApi Api = new VkApi();
void authorize()
{
api.Authorize(new ApiAuthParams() { AccessToken = "token" }); //API key
}
Далее вызываете функцию, которая авторизует Вас, и после, запросите запросите LongPoll сервер, чтобы с него потом спрашивать нужные Вам данные. Пример вырванного куска
var s = new LongPollServerResponse();
s = api.Groups.GetLongPollServer(id); //id группы
while (true)
{
var poll = api.Groups.GetBotsLongPollHistory(
new BotsLongPollHistoryParams()
{ Server = s.Server, Ts = s.Ts, Key = s.Key, Wait = 25 });
if (poll?.Updates == null) continue;
foreach (var a in poll.Updates)
{
if (a.Type == GroupUpdateType.MessageNew)
{
userMessage = a.Message.Body; //Сообщение
userID = a.Message.UserId; //ID пользователя, отправившего сообщение
payload = a.Message.Payload;
}
}
}
Для отправки сообщений использую
void SendMessage(string message, long? ID)
{
Random rnd = new Random();
api.Messages.Send(new MessagesSendParams
{
RandomId = rnd.Next(),
UserId = ID,
Message = message
});
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Делаю небольшую игру на Unity и C#Проблема в том, что когда поворачивается объект, вместо поворота он растягивается (Коллайдер тоже)
Я облазил весь интернет в поиске того, как перевести yii2 на продакшинИ практическе везде я видел ответы типа: