Другое С/С++ Вопрос - Ответ

Carrentine

Потрачен
569
462
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Что добавить нужно, подскажи. А то я новичок)
C#:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json.Linq;
using static System.Console;

namespace BOTVK3._0
{
    class Program
    {
        static void Main(string[] args)
        {
            while (true)
            {
                string requesturl1 = "https://api.vk.com/method/messages.getDialogs?v=5.85&access_token=02f70b54b27f&count=100&offset=0";
                WebClient wc = new WebClient();
                string str = wc.DownloadString(requesturl1);
                dynamic json = JObject.Parse(str);
                for (int i = 0; i < Convert.ToInt32(json.response.count); i++)
                {
                    WriteLine($"ID {i}: {json.response.items[i].message.user_id}"); //Спарсим id пользователей из диалогов
                }

                if (Convert.ToInt32(json.response.unread_dialogs) != 0)
                {
                    string messagefromhell;
                    for (int i = 0; i < Convert.ToInt32(json.response.count); i++)
                    {
                        if (json.response.items[i].unanswered == true)
                        {
                            string temp = json.response.items[i].message.body;
                            messagefromhell = Encoding.UTF8.GetString(Encoding.Default.GetBytes(temp));
                            int user_id = json.response.items[i].message.user_id;
                            string chat_id = json.response.items[i].message.id;
                            string message = "";
                            Random r = new Random();

                            switch (messagefromhell.ToLower())
                            {
                                case "привет":
                                    message = "Привет!";
                                    break;
                                case "hello":
                                    message = "Hello!";
                                    break;
                                case "help":
                                    message = "Help или Помощь - вывести данное сообщение\nВероятность - узнать вероятность события.";
                                    break;
                                case "помощь":
                                    message = "Help или Помощь - вывести данное сообщение\nВероятность - узнать вероятность события.";
                                    break;
                                default:
                                    if (messagefromhell.ToLower() == "вероятность")
                                    {
                                        message = "Укажите событие!";
                                        break;
                                    }
                                    if (messagefromhell.ToLower().Contains("вероятность") && messagefromhell.ToLower() != "вероятность")
                                    {
                                        message = "Вероятность этого события равна " + r.Next(0, 100) + "%";
                                        break;
                                    }
                                    message = "Данной команды не существует! Введите \"Помощь\"";
                                    break;
                            }

                            string request2 = $"https://api.vk.com/method/messages.send?v=5.85&access_token=102f70b54b27f&user_id={user_id}&chat_id={chat_id}&message={message}";
                            str = wc.DownloadString(request2);
                            Console.ReadLine();

                        }
                    }
                }
            }
        }
    }
}
 

DARKSAMP

Участник
43
4
Смотрите, меню бота:
Тут должно быть ниже описание по строчкам, как это сделать?)

C#:
case "меню":
                                    message = "Полное меню бота:";
                                    break;
 

atizoff

приобретаю кашель за деньги
Проверенный
1,296
1,178
ребята, привет, можете объяснить почему оно работает не так как должен? и что вообще возвращает clock()?
я сделал эту проверку

C++:
int Delay = 2;

int main()
{
    int timed = clock();
    int rawtimed = clock();

    if (rawtimed > (timed + Delay))
    {
        cout << "checkdasound";
        timed = rawtimed;
    }

    return 0;
}

но работает через раз, либо вообще не работает. может ли кто-то предложить замену или фикс?
 

4el0ve4ik

Известный
Всефорумный модератор
1,556
1,354
ребята, привет, можете объяснить почему оно работает не так как должен? и что вообще возвращает clock()?
я сделал эту проверку

C++:
int Delay = 2;

int main()
{
    int timed = clock();
    int rawtimed = clock();

    if (rawtimed > (timed + Delay))
    {
        cout << "checkdasound";
        timed = rawtimed;
    }

    return 0;
}

но работает через раз, либо вообще не работает. может ли кто-то предложить замену или фикс?
DWORD time = GetTickCount(); в мс возвращает время с начала запуска ос.
 
  • Влюблен
Реакции: atizoff

atizoff

приобретаю кашель за деньги
Проверенный
1,296
1,178
ещё раз привет), ребят, нужно хукнуть wndproc, но как? хукнуть нужно чтобы функции меню нажимались с 1 раза, а не с 30
 

Musaigen

shitposter
Проверенный
1,660
1,482
ещё раз привет), ребят, нужно хукнуть wndproc, но как? хукнуть нужно чтобы функции меню нажимались с 1 раза, а не с 30
 
  • Нравится
Реакции: atizoff

atizoff

приобретаю кашель за деньги
Проверенный
1,296
1,178
DWORD time = GetTickCount(); в мс возвращает время с начала запуска ос.
нет, не работает, использовал только вместо DWORD int
chrono юзайте. В разы удобней чем гет тик коунт
попробовал, тоже огорчило. пытаюсь прибавить к нему значение он даёт мне в ответ 100 ошибок почему мне не нужно ему прибавлять значение
 

SR_team

like pancake
BH Team
4,816
6,522
нет, не работает, использовать только вместо DWORD int

попробовал, тоже огорчило. пытаюсь прибавить к нему значение он даёт мне в ответ 100 ошибок почему мне не нужно ему прибавлять значение
write in english please
 
  • Нравится
  • Ха-ха
Реакции: Vintik и atizoff

SR_team

like pancake
BH Team
4,816
6,522
да блин, русский я! просто мисскликаю, потому что из-за этой функции успел поспать 6 часов
Хз куда ты мисскликнул, может по словам в своей голове? Потому что у тебя в принципе не понятно что ты написал
 
  • Нравится
  • Bug
Реакции: Vintik и atizoff

imring

Ride the Lightning
Всефорумный модератор
2,366
2,556
нет, не работает, использовал только вместо DWORD int

попробовал, тоже огорчило. пытаюсь прибавить к нему значение он даёт мне в ответ 100 ошибок почему мне не нужно ему прибавлять значение
C++:
// https://ru.cppreference.com/w/cpp/chrono
#include <iostream>
#include <chrono>

int delay = 2;

int main() {
  for(int i = 0; i < 10; ++i) {
    auto start = std::chrono::system_clock::now();
    // ...
    auto end = std::chrono::system_clock::now();
    if(std::chrono::duration_cast<std::chrono::seconds>
      (end - start).count() < delay) {
        std::cout << "test" << std::endl;
      }
  }
  return 0;
}
 
  • Влюблен
Реакции: atizoff