Size: a a a

Сообщество Python Программистов

2020 February 13

l

let45fc in Сообщество Python Программистов
В общем сейчас я участвую в одном школьном конкурсе, который называется МАН (малая академия наук). Там типо делаем исследования по какой-нибудь теме и представляем как мы его делали. Ну а в отделе информатики там нужно еще принести програмку. В общем пилил я бота, а потом мне учитель говорит: ну я под конец только наполнение сделаю, короче нужно будет чтоб мы просто подгрузили его в бота и все. Ну а там ни количество сообщений не известно, ничего короче. И начал я пилить "интерпретатор из жсона в бота". Слава богу от школы меня там почти освобождают, поэтому работаю по полной. За три дня накатал больше чем обычно за неделю делаю. Ну правда перед этим дня два архитектуру продумывал. В общем сейчас я пришел к тому, что из этого можно сделать фреймворк для создания ботов, так как все получилось очень даже гибко и красиво. После конкурса возможно этим займусь
источник

l

let45fc in Сообщество Python Программистов
источник

l

let45fc in Сообщество Python Программистов
источник

l

let45fc in Сообщество Python Программистов
Воркингает, однако. Сейчас делаю минимум для презентации, а там уже буду писать по полной
источник

R3

Rud 356 in Сообщество Python Программистов
А прикольно выглядит)
источник

l

let45fc in Сообщество Python Программистов
Rud 356
А прикольно выглядит)
Это ты код не видел)
источник

R3

Rud 356 in Сообщество Python Программистов
А там в какую сторону: костыли и спицы для глаз
Оль все хорошо, по пеп8 и пони какающие радугой?
источник

l

let45fc in Сообщество Python Программистов
Rud 356
А там в какую сторону: костыли и спицы для глаз
Оль все хорошо, по пеп8 и пони какающие радугой?
Второй вариант) Там все очень круто, о полном соблюдении пеп8 позаботился пайчарм, а пони какающие радугой обеспечены архитектурой и соблюдением SOLID
источник

R3

Rud 356 in Сообщество Python Программистов
Ну и збс)
источник

R3

Rud 356 in Сообщество Python Программистов
Я вот пилил для себя комманд билдер именно как внутренний класс, который просто работал декоратором функции чтоб их было удобно дергать
источник

l

let45fc in Сообщество Python Программистов
Rud 356
Я вот пилил для себя комманд билдер именно как внутренний класс, который просто работал декоратором функции чтоб их было удобно дергать
Что он делал?
источник

l

let45fc in Сообщество Python Программистов
let45fc
Второй вариант) Там все очень круто, о полном соблюдении пеп8 позаботился пайчарм, а пони какающие радугой обеспечены архитектурой и соблюдением SOLID
Жалко еще на тесты времени не хватает, так бы вообще сок был
источник

R3

Rud 356 in Сообщество Python Программистов
Ну, просто добавлял функцию в пул и вытаскивал её оттуда по совпадению ключа (отсеивал префикс в функии, принимающей сообщения заранее)
источник

R3

Rud 356 in Сообщество Python Программистов
https://pastebin.com/gHjpPe4E
Добавил еще важную фичу оттуда
источник

l

let45fc in Сообщество Python Программистов
Rud 356
Ну, просто добавлял функцию в пул и вытаскивал её оттуда по совпадению ключа (отсеивал префикс в функии, принимающей сообщения заранее)
Я все равно не понял. Что такое функции и команды здесь?
источник

l

let45fc in Сообщество Python Программистов
Оу, похоже у кого-то функция выполняет больше одного действия
источник

R3

Rud 356 in Сообщество Python Программистов
Ну скажем мне хочется сделать команду на получение рандомного числа
Обычно я бы в обработчике сообщений писал
if message.content.startswith('!rand'):
   ...

Вместо этого, я пишу асинхронную функцию вне тела и она попадает в пул с параметрами в роде можно ли её использовать в лс, имя команды, по которому её будет искать
источник

R3

Rud 356 in Сообщество Python Программистов
В обработчик сообщений идет только выбор префикса и вызов await Commands.get(prefix, message)
источник

l

let45fc in Сообщество Python Программистов
Ага, удобно
источник

R3

Rud 356 in Сообщество Python Программистов
И еще из аннотации функции берется её описание и получается документация к ним, которую можно достать через help command_name
источник