Как я мешаю себе оскорблять людей в чатах (чтобы не ловить баны)

Всем привет, я Миша и я оскорбляю людей в чатах. Я этим не горжусь и частенько расстраиваюсь из-за того, что снова сорвался и на кого-то наехал. Более того, подобное поведение может приводить к тому, что банят чат, а то и саму игру. Я решил, что нужно с этим заканчивать.

Искусственные ограничения помогают взять паузу

Множество действий я совершаю на автомате: например, раньше я зависал в ленте ВК. Чтобы бороться с этим, я удалил из ленты вообще всё — теперь, чтобы узнать о чём-то новом, мне нужно было зайти на страницу друга или сообщества, то есть сделать несколько кликов вместо одного. Поначалу был fomo (страх упустить), но со временем оказалось, что по-настоящему мне интересны только несколько групп, в которые я стал заходить через меню сообществ. Времени на ВК стало уходить меньше, а единственное, что я для этого сделал — перевёл неосознанные действия в осознанные.

Чаты для меня работают аналогично. Я понимаю, что в спокойном состоянии я не говорю людям гадости. Значит, мне нужен какой-то инструмент, который помешает говорить эти гадости, пока я злюсь — этот инструмент давал бы мне паузу, чтобы из состояния "реагирую быстро" я переходил в состояние "действую обдуманно".

Что я с этим сделал?

Я написал код на питоне, который следит за вводом с клавиатуры и предупреждает меня, если я напечатал слово из стоп-листа. Поскольку мой код беспардонный — он смело сворачивает всё, что посчитает нужным. Вот как это работает:

Пытаюсь написать слово "bitch" в чате HOTS

Теперь я запускаю этот перед началом игры, и действую более обдуманно. Более того: опасаясь, что игра свернётся, я начинаю думать о последствиях даже до того, как я получил уведомление от приложения.

Я считаю, что подобный фильтр поможет тем, кто страдает от одной из двух проблем:

- Самобичевание после плохого поведения

- Бичевание со стороны модераторов в виде бана после плохого поведения

Что было интересным и сложным в процессе разработки

Вообще я ненастоящий сварщик. Из всего, где можно писать код, я пристойно владею только SQL, но многого умею понемножку.

Во-первых, я не знал, где можно написать код, который можно будет запускать не из программы, а из файлика. Я писал игры на Unity, но чувствовал, что Unity явно будет излишним для программы с одной функцией. Мне повезло: я вспомнил, что однажды коллега делала для меня exe-файл, который включал её питон-код и работал без компилятора питона на моём рабочем компьютере. Так я выбрал свой технологический стэк.

Во-вторых, на Питоне я до этого писал, в основном работая с API. Ну, например, чтобы выгрузить все комментарии из паблика ВК или сделать телеграм-бота. Сейчас же мне понадобилось научиться следующему:

- Выдавать алерты через сообщения Windows (импорт модуля ctypes)

- Показывать интерфейс для включения и выключения программы (модуль tkinter)

- Считывать клавиатуру в фоновом режиме (модуль pynput)

- И, наконец, перегонять всё это в exe — для этого я научился пользоваться pyinstaller.

Внезапно оказалось, что pyinstaller испытывает проблемы с определённой версией pynput, поэтому пришлось её даунгрейднуть.

К счастью, все мои проблемы, возникшие при разработке, оказались тривиальны и решались при помощи гугла и стэковерфлоу — так что, не зная ничего из перечисленных выше вещей, я смог собрать первую версию программы за 4 часа.

Инструкции по применению

Если вам интересно попробовать приложение, оно лежит на гитхабе. Там есть как питоновский файл, так и экзешник (он такой большой, потому что в нём есть много импортов). При первом запуске программа создаёт файлик 'badwords.txt' рядом с собой, поэтому если её расположить в папке, для записи в которую потребуются права администратора, то и запускать её нужно от имени администратора. Но лучше, конечно, не запускайте приложения от рандомных чуваков из интернета с такими правами.

Файл badwords.txt можно редактировать вручную, можно добавлять слова, находясь внутри программы. Изначально в нём 5 слов, в файлике на гитхабе — чуть больше (я не очень оригинален в оскорблениях). Для прекращения работы основной функции нужно нажать PageUp, находясь за пределами окна программы. Если не нажать PageUp, то Windows думает, что программа зависла. Программа поддерживает русский и английский языки, при этом если в стоп-листе есть слово "bitch", то она среагирует и на слово "ишеср" (но не среагирует на "битч").

Если вы введёте непристойное слово — программа вас предупредит об этом, и вы сможете нажать "ОК", либо "Справка". Обе кнопки ничего не делают, но кнопка "ОК" хотя бы закрывает окошко предупреждения :)

Я не хочу заработать на этой программе и не хочу привлекать вас куда-либо. Просто программа оказалась полезной для меня и, поскольку я не видел подобных решений, я хочу ей поделиться.

2727
65 комментариев

Мама дорогая, сойбоев так надрессировали что они уже сами себе сучий фаервол пишут.

33

Комментарий недоступен

Как я мешаю себе оскорблять людей в чатахПросто не пиши/не говори в чаты, лол. 
Проблему придумали

17

Я, наверное, недостаточно подробно описал проблему.
В спокойном состоянии я так и делаю: я просто не пишу в чаты. Проблема же возникает, когда я нахожусь в раздражённом состоянии — "просто" для меня не работает, мне нужен дополнительный барьер.

4

Скиньте этот пост в Blizzard.

Пусть чуваку, который придумал банить за токсичность выпишут премию.

Челики вон скоро себя плетьми бить начнут за хейтспич.

7

Почему вы сравниваете это с битьём себя плетьми? Я сам считаю, что ругань и токсичность человека не красят, таким образом, когда я токсичный — у меня возникает внутренний конфликт. Мне нужен буфер — я его сделал, чтобы мои решения "в моменте" не отличались от осознанных решений.
Так же, как я не хочу отжиматься, но отжимаюсь, и не хочу заканчивать читать интернеты перед сном, но заканчиваю — я делаю что-то, что противоречит моим пожеланиям прямо сейчас, потому что знаю, что это принесёт мне долгосрочную пользу.

8

Боже, дружище, спасибо. Себя увидел в твоем описании. Попробую прогу.
Никогда в повседневной жизни или кооперативных играх не грублю, но во всяческих moba начинает гореть жопа и перестаешь себя контролировать. Потом стыдно.
С комментов конечно в ступоре. "Просто не пиши". Гениально.
Вернейший признак дурака - если я могу/делаю/думаю так, значит так могут все.

5