Задать вопрос
cen0x
@cen0x
ламер

Что делать если бот флудит демотиваторами?

Здравствуйте, у меня есть код бота ВК, генерирующего демотиваторы с помощью слов и фотографий, взятых из беседы. (пример: https://vk.com/neurobred)
В генерации есть строки, которые отвечают за очистку базы после генерации демотиватора. (текст+ фото удаляются из баз), и получается что после каждой генерации база слов и картинок исчезает, и приходиться писать слова в беседу заного.
Очистка базы:
f = open(dir_to_txt + str(ans.peer_id) + '.txt', 'w', encoding='utf8')
                f.write('')
                f.close()
                f = open(dir_to_pic + str(ans.peer_id) + '.txt', 'w', encoding='utf8')
                f.write('')

Решил я удалить эти строки очистки базы, в первое время все было ок, но после достижения данного значения
if lines >= 20 and pic2 >= 3:
Бот начинает отвечать демотиватором на КАЖДОЕ сообщение, это происходит из-за того, что в базе уже имеется те самые 20 строк текста и 3 фотографии(строки выше)
Как мне это пофиксить? Чтобы бот при достижении 20 сообщений и 3-х картинок не флудил мне демотиваторами.
Если кто-то будет тестить скрипт, то в папке файлом .py, создайте папку "Dialogs" и "Images"
Код приложил ниже:
await ans(f'', attachment=photo)
                f = open(dir_to_txt + str(ans.peer_id) + '.txt', 'w', encoding='utf8')
                f.write('')
                f.close()
                f = open(dir_to_pic + str(ans.peer_id) + '.txt', 'w', encoding='utf8')
                f.write('')
                f.close()

@bot.on.message()
async def lsmsg(ans: Message):
    await ans('Я работаю только в беседах .-.')
    
bot.run_polling()
  • Вопрос задан
  • 136 просмотров
Подписаться 1 Простой 2 комментария
Решения вопроса 1
402d
@402d
начинал с бейсика на УКНЦ в 1988
if lines >= 20 and pic2 >= 3

добавьте в условие , что число должно быть кратно 20 как Вы в описании бота написали

and lines % 20 == 0
Питон я не знаю. так что остаток от деления может в его синтаксисе записывается по другому
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы