Я бы взялся за C++, так как он сравнительно легко позволяет обращаться к таким вещам. Сделал бы proof of concept, а потом при надобности портировал на другой язык. Но я плюсы уже худо-бедно знаю. Если не знать, то будет сложнее, а не проще.
В принципе можно также добиться результата и на C#, но как и питон, шарп далёк от таких вещей (хотя достучаться можно).
Так что если существующих знаний мало - то стоит попытаться на том языке, который знаете. Модуль я вам подсказал.
Последовательность у вас будет, скорее всего, CreateProcess() для запуска процесса (нужно узнать дескриптор и ID запущенного процесса), потом ReadProcessMemory() (возможно, в цикле), и при необходимости использовать приём с DebugActiveProcess() чтобы приостановить целевой процесс.
Алексей Фобиус, в смысле асинхронно?
А контуры - орагнизуй цикл по контурам, скинь в отдельный список те, которые удовлетворяют твоим условиям, потом рисуй только их через cv2.polylines(), к примеру.
Что значит "перекидывается"?
Дискорд не позволяет перемещать сообщения между каналами, насколько я знаю.
Максимум, бот может написать то же самое сообщение в другом канале (от своего имени!), и удалить оригинал.
А зачем тебе while True вообще?
У тебя значения before и after внутри процедуры НИКОГДА не изменятся.
Для следующего события процедура будет вызвана заново.
Ну а я что говорил? Переводы строк
'A\n' != 'A'
после
a, b, c = lines[i].split(' ')
сделай
c = c.rstrip()
чтобы обрезать все пробельные символы с конца.
Или, если перевод строки нужен, то сравнивай с 'A\n'
Kryptonit, а почему
for i in range(0, 10):
у вас список сортируется по возрастанию цены, а потом вы в 10 самых дешевых товарах ищете товары, у которых letter - буква А.
1. Такие точно есть?
2. letter у вас точно однобуквенные? Или вам нужно чтобы начинались с А?
3. lines[i].split(' ') - а строки в lines[i] содержат переводы строки или нет?
Kryptonit, погоди, погоди...
A[i].letter=='A' даст на выходе булево выражение. Само по себе это ничего не выведет, разумеется.
Если сделать print(A[i].letter=='A'), получишь в стандартном выводе "True" или "False".
А в твоём случае - не с кодировкой ли проблемы? Русская А и латинская A не равны.