Задать вопрос
  • Telegram.error.BadRequest: File must be non-empty, ошибка в создании телеграм бота?

    @kalsc12345
    Неизвестный человек.
    Пустой запрос кхм.

    def start(update, context):
        context.chat_data['board'] = chess.Board()
        update.message.reply_photo(photo=get_board(context.chat_data['board']))
    
    def move(update, context):
        if not context.args:
            update.message.reply_text('Please specify a move!')
            return
    
        move = context.args[0]
        board = context.chat_data['board']
        try:
            board.push_san(move)
            board_image = get_board(board)
            if board_image is not None:
                send_image(context.bot, update, board_image)
            else:
                update.message.reply_text('Error: Failed to parse SVG image')
        except ValueError:
            update.message.reply_text('Invalid move!')
    
    def get_board(board):
        board_string = chess.svg.board(board=board)
        board_string = board_string.replace('\n', '')
        output = BytesIO()
        try:
            cairosvg.svg2png(bytestring=board_string, write_to=output)
        except ET.ParseError:
            print("Error: Failed to parse SVG image")
            return None
        output.seek(0)
        return output.getvalue()
    
    def send_image(bot, update, image):
        bio = BytesIO()
        bio.name = 'image.png'
        try:
            svg2png(image, write_to=bio)
        except ET.ParseError:
            print("Error: Failed to parse SVG image")
            update.message.reply_text('Error: Failed to parse SVG image')
            return
        bio.seek(0)
        bot.send_photo(chat_id=update.message.chat_id, photo=bio)


    Попробуй.
    Ответ написан
  • PHP curl стал выдавать ошибку?

    @kalsc12345
    Неизвестный человек.
    Блокировка запросов.
    Ошибка curl 1020
    Увеличить интервал между запросами.
    Добавить стандартные заголовки в запросы, например, заголовок User-Agent.
    Проверить, не ограничивает ли сервер ваш IP-адрес или ваш провайдер интернета.
    Проверить, не изменился ли URL или структура запросов для этого API.

    Интернет в помощь.
    Ответ написан
    Комментировать
  • Как написать метод laravel?

    @kalsc12345
    Неизвестный человек.
    Задача из не простых конечно уж.
    Если готовые коды но неизвестно рабочие или нет.
    Юзаем библиотеку Laravel SwiftMailer
    И для телеги Laravel Telegram Bot API.

    Начинаем наш скрипт делать.

    // app/Models/Notification.php
    
    namespace App\Models;
    
    use Illuminate\Database\Eloquent\Model;
    
    class Notification extends Model
    {
        const TYPE_EMAIL = 1;
        const TYPE_TELEGRAM = 2;
        const STATUS_WAIT = 0;
        const STATUS_SENT = 1;
        const STATUS_ERROR = 2;
    
        protected $fillable = ['to', 'type', 'template', 'class_provider', 'subject', 'content', 'status'];
    
        public function sendNotification()
        {
            // ...
        }
    }


    public function sendNotification()
    {
        switch ($this->type) {
            case self::TYPE_EMAIL:
                $this->sendEmailNotification();
                break;
    
            case self::TYPE_TELEGRAM:
                $this->sendTelegramNotification();
                break;
    
            default:
                throw new \Exception('Unknown notification type');
        }
    }


    public function sendEmailNotification()
    {
        // Получаем провайдера email из поля class_provider
        $provider = app($this->class_provider);
    
        // Получаем получателя и контент сообщения из модели уведомления
        $to = $this->to;
        $content = json_decode($this->content);
    
        // Создаем экземпляр класса MailMessage
        $message = new \Illuminate\Mail\Message();
    
        // Устанавливаем адрес отправителя и получателя
        $message->setFrom(config('mail.from.address'), config('mail.from.name'));
        $message->addTo($to);
    
        // Устанавливаем тему и контент сообщения
        $message->setSubject($this->subject);
        $message->setBody($content->message, 'text/html');
    
        // Отправляем сообщение
        try {
            $provider->send($message);
            $this->status = self::STATUS_SENT;
        } catch (\Exception $e) {
            $this->status = self::STATUS_ERROR;
        }
    
        $this->save();
    }


    public function sendTelegramNotification()
    {
        // Получаем получателя и контент сообщения из модели уведомления
        $to = $this->to;
        $content = json_decode($this->content);
    
        // Отправляем сообщение
        try {
            \Telegram::sendMessage([
                'chat_id' => $to,
                'text' => $content->message,
            ]);
            $this->status = self::STATUS_SENT;
        } catch (\Exception $e) {
            $this->status = self::STATUS_ERROR;
        }
    
        $this->save();


    Ну теперь почта.

    config/mail.php

    // config/mail.php
    
    return [
    
        'default' => env('MAIL_MAILER', 'smtp'),
    
        'mailers' => [
            'smtp' => [
                'transport' => 'smtp',
                'host' => env('MAIL_HOST', 'smtp.mailgun.org'),
                'port' => env('MAIL_PORT', 587),
                'encryption' => env('MAIL_ENCRYPTION', 'tls'),
                'username' => env('MAIL_USERNAME'),
                'password' => env('MAIL_PASSWORD'),
                'timeout' => null,
                'auth_mode' => null,
            ],
        ],
    
        // ...
    
    ];


    И юзаем метод для отправки уведомление в любое место нашего приложения.

    $notification = Notification::find(1);
    $notification->sendNotification();
    Ответ написан
    3 комментария
  • Как узнать размер незаполненного массива в c++?

    @kalsc12345
    Неизвестный человек.
    Ну конечно уж я ерундой занимаюсь.
    Ну мои методики:
    Длина.
    int m[5] = {1, 2, 3};
    int length = 3; // исходно, массив содержит 3 элемента
    
    // добавляем новый элемент в массив
    m[length] = 4;
    length++;
    
    // теперь массив содержит 4 элемента


    Незаполненный.

    int m[5] = {1, 2, 3};
    int length = 3;
    
    // ищем незаполненный элемент
    for (int i = 0; i < length; i++) {
      if (m[i] == 0) {
        std::cout << "Незаполненный элемент: " << i << std::endl;
        break;
      }
    }
    Ответ написан
  • Как понять где +, а где -?

    @kalsc12345
    Неизвестный человек.
    Помню как я в детстве проверял провода.
    Язык берешь и попробуешь.
    Ответ написан
    Комментировать
  • Почему при работе c binance, BeautifulSoup возвращает []?

    @kalsc12345
    Неизвестный человек.
    Вроде метод не тот
    quotes_p2p = soup.find_all(attrs={"div", "data-bn-type"})

    Замени на:
    quotes_p2p = soup.find_all('div', {'data-bn-type': True})
    Ответ написан
  • Как изменить текст на кнопке «Вернуться в магазин» на странице Избранное в личном кабинете WooCommerce?

    @kalsc12345
    Неизвестный человек.
    function filter_woocommerce_return_to_shop_text( $default_text ) {
    if ( is_account_page() && ! is_wc_endpoint_url( 'dashboard' ) && ! is_wc_endpoint_url( 'orders' ) && ! is_wc_endpoint_url( 'view-order' ) && ! is_wc_endpoint_url( 'edit-account' ) && ! is_wc_endpoint_url( 'edit-address' ) && ! is_wc_endpoint_url( 'payment-methods' ) && ! is_wc_endpoint_url( 'lost-password' ) && ! is_wc_endpoint_url( 'customer-logout' ) ) {
    $default_text = __( 'Название вашей страницы', 'woocommerce' );
    }
    return $default_text;
    }
    add_filter( 'woocommerce_return_to_shop_text', 'filter_woocommerce_return_to_shop_text', 10, 1 );


    Может поможет?
    Ответ написан
  • Пытаюсь реализовать порционную загрузку файла. Где кроется ошибка в коде?

    @kalsc12345
    Неизвестный человек.
    @RestController("/")
    public class SimpleRestController {
        @RequestMapping(produces = MediaType.APPLICATION_OCTET_STREAM_VALUE, method = RequestMethod.GET)
        public ResponseEntity<byte[]> getVideo(@RequestHeader(value = "Range", required = false) String range) throws IOException {
            ClassPathResource video = new ClassPathResource("static/Jiraya.mp4");
            InputStream is = video.getInputStream();
            HttpHeaders headers = new HttpHeaders();
            int fileSize = is.available();
            byte[] data;
            String[] rangeArray = range.split("=");
            int byteStart = 0;
            int byteEnd = fileSize - 1;
    
            if (rangeArray.length > 1){
                String[] byteRange = rangeArray[1].split("-");
                byteStart = Integer.parseInt(byteRange[0]);
                if (byteRange.length > 1) {
                    byteEnd = Integer.parseInt(byteRange[1]);
                }
            }
    
            int contentLength = byteEnd - byteStart + 1;
            data = new byte[contentLength];
            is.skip(byteStart);
            is.read(data, 0, contentLength);
            is.close();
    
            headers.add("Content-Type", "video/mp4");
            headers.add("Content-Length", String.valueOf(contentLength));
            headers.add("Accept-Ranges", "bytes");
            headers.add("Content-Range", "bytes " + byteStart + "-" + byteEnd + "/" + fileSize);
    
            return new ResponseEntity(data, headers, HttpStatus.PARTIAL_CONTENT);
        }
    }


    Лови мой дорогой друг
    Ответ написан
    3 комментария
  • Куда разместить telegram бота?

    @kalsc12345
    Неизвестный человек.
    Принципе можешь джино
    Ответ написан
    Комментировать
  • Почему PHP не подключается к базе данных?

    @kalsc12345
    Неизвестный человек.
    Начал код замечательно.
    Но для начала тебе бы поизучать библиотеки.
    Чутка подкорректировал код:
    config_db.php
    return [
        'dsn' => 'mysql:host=localhost;dbname=test;charset=utf8',
        'user' => 'root',
        'password' => '',
    ];


    Db.PHP

    <?php
    namespace wfm;
    
    require_once 'vendor/autoload.php';
    
    use RedBeanPHP\R;
    
    class Db
    {
        use TSingleton;
    
        private function __construct()
        {
            if (!defined('CONFIG')) {
                define('CONFIG', __DIR__ . '/config');
            }
    
            if (!defined('DEBUG')) {
                define('DEBUG', false);
            }
    
            $db = require CONFIG . '/config_db.php';
            R::setup($db['dsn'], $db['user'], $db['password']);
    
            if (!R::testConnection()) {
                throw new \Exception('No connection to DB', 503);
            }
    
            R::freeze(true);
    
            if (DEBUG) {
                R::debug(true, 3);
            }
        }
    }


    Сонный после работы проснулся, так что может быть я ошибки допустил.

    Кстати 19 строка же это знак: }
    Лишняя указывает обозначает
    Ответ написан
  • Можно ли дать пользователю выбирать только города среди местоположений?

    @kalsc12345
    Неизвестный человек.
    <?$APPLICATION->IncludeComponent(
        "bitrix:sale.location.selector.search",
        "",
        array(
            "ENTITY_TYPE" => "CITY",
            "INPUT_NAME" => "LOCATION",
            "FILTER_BY_SITE" => "Y"
        ),
        false
    );?>


    Может поможет, уже в 1C-Битрикс забыл
    Ответ написан
    Комментировать
  • Как добавить беспризорный коммит в ветку?

    @kalsc12345
    Неизвестный человек.
    git checkout master

    git cherry-pick d77011864fe1f5cf3c86ad4eff682772cd518efb

    git stash
    git checkout d77011864fe1f5cf3c86ad4eff682772cd518efb
    git commit --allow-empty
    git checkout master
    git stash pop
    Ответ написан
    2 комментария
  • Как аннотировать неявные атрибуты класса?

    @kalsc12345
    Неизвестный человек.
    from typing import Any
    
    class MyClass:
        def __init__(self, param: str):
            self.param = param
    
        def __getattr__(self, attr: str) -> Any:
            # Здесь можно создать любой атрибут в зависимости от переданного имени
            if attr == 'name':
                return 'John Doe'
            elif attr == 'age':
                return 30
            else:
                raise AttributeError(f"'{type(self).__name__}' object has no attribute '{attr}'")
    Ответ написан
    3 комментария
  • Как подсчитывать на видео проходящих людей по головам?

    @kalsc12345
    Неизвестный человек.
    Кхм посути можно OpenCV заюзать
    import cv2
    
    # загружаем файл видео
    cap = cv2.VideoCapture('video.mp4')
    
    # создаем объект HOG для обнаружения людей
    hog = cv2.HOGDescriptor()
    hog.setSVMDetector(cv2.HOGDescriptor_getDefaultPeopleDetector())
    
    # инициализируем счетчик
    count = 0
    
    # начинаем чтение видео кадр за кадром
    while True:
        ret, frame = cap.read()
        if not ret:
            break
    
        # обнаруживаем людей на кадре
        boxes, weights = hog.detectMultiScale(frame)
    
        # рисуем прямоугольники вокруг обнаруженных людей
        for box in boxes:
            x, y, w, h = box
            cv2.rectangle(frame, (x, y), (x+w, y+h), (0, 255, 0), 2)
    
        # увеличиваем счетчик на количество обнаруженных людей
        count += len(boxes)
    
        # выводим количество обнаруженных людей на кадре
        cv2.putText(frame, f"Count: {count}", (50, 50), cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 0, 255), 2)
    
        # показываем кадр
        cv2.imshow('frame', frame)
    
        # останавливаем цикл, если нажата клавиша "q"
        if cv2.waitKey(1) == ord('q'):
            break
    
    # освобождаем ресурсы
    cap.release()
    cv2.destroyAllWindows()
    Ответ написан
  • Как узнать айди создателя поста?

    @kalsc12345
    Неизвестный человек.
    vk.updates.on('wall_post', context => {
      const ownerId = context.wall.ownerId;
      console.log(`Новый пост от пользователя с айди ${ownerId}`);
    });


    А поч интересно пропал мой ответ кхм
    Ответ написан
  • Oсновной метод не найден в классе net.minecraft.client.Minecraft как исправить?

    @kalsc12345
    Неизвестный человек.
    package net.minecraft.client;
    
    public class Minecraft {
        public static void main(String[] args) {
        }
    }


    package net.minecraft.client;
    
    import javafx.application.Application;
    
    public class Minecraft extends Application {
        public static void main(String[] args) {
            launch(args);
        }
    
        @Override
        public void start(Stage primaryStage) throws Exception {
        }
    }
    Ответ написан
  • При попытке вывести все данные из MySQL выдает null. Как исправить?

    @kalsc12345
    Неизвестный человек.
    var pool = mysql.createPool({
        host: "хост",
        user: "пользователь",
        password: "пароль",
        database: "датабаза",
        port: 3306,
    });
    
    pool.getConnection(function (err, connection) {
        if (err) {
            console.log("Ошибка датабазы: " + err);
            throw err;
        }
        else {
            console.log("Датабаза подключена");
            connection.query('SELECT * FROM `fac`', function (err, result) {
                if (err) {
                    console.log("Ошибка выполнения запроса: " + err);
                    throw err;
                }
                else {
                    console.log(result);
                    // do something with the result
                }
                connection.release(); // always release the connection after you're done with it
            });
        }
    });
    Ответ написан
    Комментировать
  • Как получить айди создателя поста? (owner_id)?

    @kalsc12345
    Неизвестный человек.
    vk.updates.on('wall_post', context => {
      const ownerId = context.wall.ownerId;
      console.log(`Новый пост от пользователя с айди ${ownerId}`);
    });


    Молча ответил........
    Ответ написан
    Комментировать
  • Как преобразовать файлы из PDF или docx в csv в заданном формате?

    @kalsc12345
    Неизвестный человек.
    ABBYY FlexiCapture или Tesseract OCR
    Ответ написан
    Комментировать
  • Какую либу xmpp стоит выбрать?

    @kalsc12345
    Неизвестный человек.
    1. Smack - для java
    2. XMPP.js для JavaScript
    3. SleekXMPP для python

    Принципе всё, ЯП какое нужно было не указал.
    Ответ написан