Задать вопрос
  • Оплата подписки через vk pay?

    @nemolayn
    Создатель бота Nemo
    https://dev.vk.com/ru/pay/getting-started
    Используйте клавиатуру и выставляйте настройки.
    Ответ написан
    Комментировать
  • Как убрать все символы до определенного?

    @nemolayn Автор вопроса
    Создатель бота Nemo
    Возьму и сам отвечу на вопрос.

    Рабочий код:
    async function delWords(txt, countDeleteWords){
    // Возьмем переменную текст как "deleteWord word word"
    text += (`Original: ` + txt) // чистая переменная
    
    let filter1 = txt.replace(/\s/g, ",")
    text += (`\n\nFilter1: ` + filter1) // deleteWord,word,word
    
    let prefilter = filter1.split(",") // делим все слова на массив: ["deleteWord", "word", "word"]
    if(prefilter.length < countDeleteWords){ 
    let err = { 
    code: 1, 
    text: "countDeleteWords is too bigger then count words"
    }
    return err;
    } // Обработка ошибки, может кому то надо
    let filter2 = prefilter.slice(countDeleteWords) // убираем n слов(-о) в Array
    text += (`\n\nfilter2: ` + filter2) // результат word,word
    
    return text; // возвращаем переменную, по необходимости меняем на filter2
    }

    После первого фильтра .replace разбил на массив .split и убрал первую часть массива .slice
    Можно сократить если сразу после .split написать .slice:
    let filter2 = filter1.split(",").slice(countDeleteWords)

    Отредактировано для комментатора))
    Ответ написан
  • Проверка элемента в другом элементе в js?

    @nemolayn
    Создатель бота Nemo
    Немного неправильно сделан код JS

    Исправлено:

    setInterval(function(){
    var parent = document.querySelectorAll('.cart_item');
    for(let i = 0; i<parent.length; i++){
    	var elems1 = parent[i].querySelectorAll('.meta_wc');
    	var elems = parent[i].querySelectorAll('.first_size');
    if (elems.innerHTML == '' ) {
    	elems1.style.display = 'none';
    	};	
    }
    }, 1000);


    Отсутствует перебор документов и просто нечего записывать, если что то не так, жду исправление в коммах
    UPD: цикл if был вне for.
    Т.к нету всего кода я не могу полноценно ответить.
    Ответ написан
  • Как сделать автооплатеж через сбп в вк?

    @nemolayn
    Создатель бота Nemo
    Использовать API например Юмани или что то типо того, что поддерживало СБП и могло делать страницу оплаты через POST запрос. А также последующая проверка оплаты.
    Ответ написан
    Комментировать
  • Как использовать события в данной библиотеке?

    @nemolayn
    Создатель бота Nemo
    Используйте документацию и после ее прочтения, можете задавать вопросы которые остались.
    Ответ написан
  • Как можно отследить отправку сообщения с изображением, аудио, стикером и видео?

    @nemolayn Автор вопроса
    Создатель бота Nemo
    Что бы обработать нужно просто делать вот так:
    vk.updates.on('message', async (message) => {
    if(message.attachments){ // проверка на фотки и тп
    let att = message.attachments
    for(let i = 0; i < att.length; i++){
    if(att[i].type == photo){
    // фото
    } else if(att[i].type == video){
    // видео
    } // так можно продолжать и дальше.
    
    }
    } else {
    return;
    }
    })
    Ответ написан
    Комментировать
  • Как обойти ограничение в setTimeout JS?

    @nemolayn Автор вопроса
    Создатель бота Nemo
    Самое лучшее - setInterval()
    Пример:
    let interval = async () => {
    	await setInterval(findMute, 10000)
    	await setInterval(findBan, 10000)
    }

    Каждые 10 секунд проверка на мут и бан в функциях описан сам разбан
    Ответ написан
    Комментировать
  • Как зделать звукавое уведомление js?

    @nemolayn
    Создатель бота Nemo
    Переделываем в функцию:
    function playAudio($url) {
        $audio = new Audio();
        $audio.src = $url;
        return $audio.play();
     }

    Если тут приходит уведомление то проигрываем этот звук:
    if ( $k_new !=0 && $k_new_fav == 0 ){
      echo 'тут уведомление';
      $url = "http://freewavesamples.com/files/Yamaha-TG100-Ocarina-C5.wav"
      playAudio($url)
    }

    Если есть вопросы пиши в коменты, и да у вас скрипт на php?
    Ответ написан
    Комментировать
  • Функция unban разбанивает сразу, что делать?

    @nemolayn Автор вопроса
    Создатель бота Nemo
    Функция UnBan:
    async function unBan(id, chatid) {
      await mongo.models.chatsusers.updateOne({ vkid: Number(id), join_chat: Number(chatid), banned: String(true) }, { $set: { banned: false, bannedTime: "None", bannedReason: "None" } })
    }

    Таймер:
    let timeValue = `1`
    let timeUnit = `день`
    let seconds = convertToSeconds(timeValue, timeUnit)
    let secondsToMilSeconds = seconds * 1000
    let chatid = message.chatId
    setTimeout(() => {
      unBan(id, chatid)
    }, secondsToMilSeconds);

    Если кому надо то вот функция convertToSeconds:
    function convertToSeconds(timeValue, timeUnit) {
      switch (timeUnit) {
        case 'день':
          return timeValue * 24 * 60 * 60;
        case 'час':
          return timeValue * 60 * 60;
        case 'минута':
          return timeValue * 60;
        default:
          return 0;
      }
    }
    Ответ написан
    Комментировать
  • Как бесплатно разместить бота?

    @nemolayn
    Создатель бота Nemo
    Бесплатно можно разместить у себя на старом пк/ноуте/лишнем пк как то так:
    1. Нужно перекинуть данные
    2. Нужно скачать Visual Code
    3. Скачать pm2
    4. Запустить pm2 start bot.py
    5. И все, если старый/не нужный то не жалко.
    Ответ написан
    Комментировать
  • Какую библиотеку/библиотеки для вк бота юзать?

    @nemolayn
    Создатель бота Nemo
    Лично я использую
    const { VK, Upload, Updates } = require('vk-io');
    const { HearManager } = require('@vk-io/hear');

    Что бы начать нужно все скачать, через NPM
    А далее:
    const vk = new VK({
        token: "// токен нужно получить в группе"
    });
    const pollid = `// айди нужно получить в группе`
    const bot = new HearManager()

    А так же рекомендую начать с данной команды что бы проверить работу бота:
    bot.hear(/^(?:Пинг)/i, async message => {
    	return message.send("ПОНГ")
    });

    А в конце для работы:
    vk.updates.start().catch(console.error)
    console.log('VK Polling starting...')
    console.log('Polling started')
    console.log("Ready! If u see this message all is ok.")
    Ответ написан
    Комментировать
  • Как проверить баланс в sqlite3 в python?

    @nemolayn
    Создатель бота Nemo
    Вроде как то так, если не ошибаюсь. Если что пишите в комменарии, дополню свой ответ если что то не так.
    import sqlite3
    con = sqlite3.connect("//connect")
    cur = con.cursor()
    row = cur.execute("SELECT balance FROM users WHERE user_id ='message.from_user.id'")
    if row > str(50):
                bot.send_message(message.chat.id, text='True')
            elif row < str(50):
                bot.send_message(message.chat.id, text='False')
    Ответ написан
    Комментировать
  • Почему переодически портит файлы FTP pyftpdlib?

    @nemolayn
    Создатель бота Nemo
    Вопрос по вашему вопросу, какие файлы отправляете и какой размер?

    Рекомендации:
    Использовать SFTP. Скорее всего поможет. (Я не специалист)
    А точнее модуль pysftp 0.2.9
    https://pypi.org/project/pysftp/
    import pysftp
    
    with pysftp.Connection('hostname', username='me', password='secret') as sftp:
        with sftp.cd('public'):             # temporarily chdir to public
            sftp.put('/my/local/filename')  # upload file to public/ on remote
            sftp.get('remote_file')         # get a remote file

    А так же документации есть, может поможет:
    https://www.tutorialspoint.com/python_network_prog...
    https://sftptogo.com/blog/python-sftp/
    Ответ написан
    Комментировать