Хотим представить список изменений, которые мы добавили на сайт за последний месяц:
1. Для будущего расширения проекта YummyAnime, а также для сотрудничества с другими платформами, разработали собственное API. Более подробно об этом можно узнать в телеграм канале нашего главного разработчика t.me/yummyanidev;
2. Переделали список нецензурных слов для комментариев под тайтлом, а также общего чата;
3. Немного изменили расположение кнопки «Добавить рецензию» на странице аниме, когда нет ни одной рецензии;
4. Установили минимальное и максимальное ограничение по вводу чисел в поля количества серий в фильтре;
5. Теперь при поиске случайного аниме по заданному фильтру, сам фильтр не будет закрываться при переходе на страницу тайтла, а его настройки также будут сохранятся;
6. Исправили большое количество мелких недоработок в интерфейсе чата и соответствующих меню;
7. Исправили большинство некорректно отображаемых элементов меню на светлой теме, в частности: изменили цвет уведомлений в личных сообщениях; в настройках «Импорт/экспорт списков» в разделе «Очистка» изменили цвет кнопок;
10. Исправили некорректное отображение оценки «10» в пользовательских списках;
11. Исправили функционал удаления статуса просмотренных серий;
12. Теперь дата рождения не будет каждый раз сбрасываться при открытии настроек своего профиля;
13. Изменили текст подсказки в блоке «ТОП-100 АНИМЕ-СЕРИАЛОВ»
Честно говоря, даже не рассчитывал на такой отклик на мой предыдущий пост. 30 подписчиков на Youtube, ценные комментарии и советы, да и просто слова поддержки!
К сожалению, охват моих видео пока не очень большой, хотя видео про STAR приняли очень тепло, судя по лайкам.
На самом деле, затевая эксперимент "Кодим с ChatGPT", я был почти уверен, что сколь-нибудь значимых результатов я не получу. Но похоже, я начинаю сам себя опровергать. Чатбот сумел не просто предложить решение проблемы (например, "сделать форму авторизации"), но и решить абстрактную задачу "сделать форму красивой".
Кроме того, он неплохо разбирается в существующих библиотеках и сумел предложить мне два очень приличных варианта с полнофункциональным календарем. И это притом, что я использую версию 3.5, а не 4. В общем, мне кажется, из всего этого выйдет неплохой результат, но посмотрим. До работающего приложения еще очень далеко.
Одно могу сказать точно: если бы я писал код с нуля, я бы потратил на него раз в 5 больше времени, с учетом исправления всех ошибок, которые иногда допускает chatGPT.
Ну и немного внутренней кухни (кажется, эта рубрика становится постоянной):
Тема для видеоблога выбрана весьма непростая для новичка, ведь мне недоступна опция "перезаписать видео", если в процессе записи что-то пошло не так. Это же chatGPT, который запоминает контекст. То есть, я:
а) не могу просто как ни в чем не бывало заново его просить делать то, о чем уже просил (потому что он "знает", что я уже задавал этот вопрос и его ответ будет учитывать предыдущие ответы)
б) не могу начать новый чат с нуля, потому что для записи следующего ролика мне нужно, чтобы ИИ знал контекст предыдущего.
Приходится танцевать с бубном. Например, после записи я понял, что у меня был косяк с гарнитурой и звук был фиговый. Пришлось на имеющийся видеоряд с записью экрана накладывать новый аудио-видео ряд с голосом и миниатюрной головой. Это вылилось в адок на монтаже, общее время монтажа 17-минутного ролика составило часов 15. Всё для вас, дорогие будущие зрители :)
Спасибо за поддержку, буду рад новым подпискам на канал и идеям по развитию!
Схема Peer-to-Peer предполагает прямую связь между двумя компонентами без необходимости в центральном координаторе.
🔹API Gateway
API-шлюз выступает в качестве единой точки входа для всех клиентских запросов к внутренним сервисам приложения.
🔹Pub-Sub
Шаблон Pub-Sub отделяет производителей сообщений (издателей) от потребителей сообщений (подписчиков) с помощью брокера сообщений.
🔹Request-Response
Это один из самых фундаментальных паттернов интеграции, когда клиент отправляет запрос на сервер и ждет ответа.
🔹Event Sourcing
Event Sourcing предполагает хранение изменений состояния приложения в виде последовательности событий.
🔹ETL
ETL - это схема интеграции данных, используемая для сбора данных из различных источников, преобразования их в структурированный формат и загрузки в конечную базу данных.
🔹Batching
Пакетирование подразумевает накопление данных за определенный период или до достижения определенного порога, после чего они обрабатываются как единая группа.
🔹Streaming Processing
Потоковая обработка позволяет непрерывно получать, обрабатывать и анализировать потоки данных в режиме реального времени.
🔹Orchestration
Оркестровка подразумевает наличие центрального координатора (оркестранта), управляющего взаимодействием между распределенными компонентами или сервисами для реализации рабочего процесса или бизнес-процесса.
Теперь разработчикам не придется перелопачивать весь интернет в поисках нужных ресурсов!
В этой коллекции собрано свыше тысячи API, аккуратно отсортированных по категориям, включая погоду, книги, календари, музыку, фильмы, финансы и множество других.
Цель данного репозитория — предоставить разработчикам удобный доступ к общедоступным и бесплатным API для различных целей, упрощая процесс поиска и интеграции разнообразных сервисов в их проекты. Это может помочь ускорить разработку и обогатить функционал приложений и веб-сайтов, добавляя к ним новые возможности без необходимости создавать все с нуля.
Например, если разработчику нужно добавить в приложение информацию о погоде, он может использовать погодный API из этой коллекции вместо того, чтобы собирать и обрабатывать данные самостоятельно. Это экономит время и ресурсы, а также предоставляет доступ к качественным и актуальным данным.
Хотите узнавать первыми о полезных сервисах с искусственным интеллектом для работы, учебы и облегчения жизни? Подпишитесь на мой телеграм канал НейроProfit, там я рассказываю, как можно использовать нейросети для бизнеса.
Бывшие разработчики OpenAI выпустили Claude 3 сразу в трех вариантах:
1) Haiku - самая маленькая по производительности модель, еще не доступна через API
2) Sonnet - это бесплатная, самая быстрая и основная модель. Уже доступна через API
3) Opus - самая мощная модель, по бенчмаркам справляется с некоторыми задачами лучше чем GPT-4. Тоже уже доступна через API. Стоимость Claude 3 Opus — $15 за 1 миллион токенов на вход и $75 за 1 миллион токенов на выход.
Контекстное окно прежнее — 200 тысяч токенов. Появилась возможность распознавания картинок. Отлично работает с кодом и текстом, с математикой же справляется лучше конкурентов (на картинке это наглядно продемонстрировано)
Как использовать Claude 3 из России ❓
1. Меняем язык Google - аккаунта на английский тут
2. Включаем VPN на США, заходим на сайт Claude и логинимся через Google.
3. Покупаем иностранный номер телефона за 10 рублей, например, вот в этом сервисе, как пример
4. Для этого выбираем сервис «Claude» и страну, которая поддерживается в списке.
5. Получаем номер телефона, вставляем его в форму регистрации Claude и вводим полученный SMS для подтверждения.
Готово. Теперь у вас есть доступ к Claude и вы сами можете потестить модель Sonnet и сделать свои выводы 😉
Хотите узнавать первыми о полезных сервисах с искусственным интеллектом для работы, учебы и облегчения жизни? Подпишитесь на мой телеграм канал НейроProfit, там я рассказываю, как можно использовать нейросети для бизнеса.
Новый драйвер карточек Intel ARC под номером 101.5186 значительно поднимет производительность видеокарт линейки Intel ARC Alcemist в API DirectX 11 в определённых играх.
Самый жирный прирост FPS наблюдается у intel ARC с 8 ГБ видеопамяти. Карточки получили до 30 % бонусной производительности согласно пресс релизу intel. Также, долю любви оптимизации получили такие игры прошлых лет, как Assassin's Creed Syndicate, Titanfall 2, Watch Dogs Legion и Just Cause 3/4.
Помимо этого Intel обещает заметное увеличение кадровой частоты в приключенческом боевике The Last of Us Part I.
Какая-то мощная АКТИВНОСТЬ со стороны intel, вполне возможно что в ближайшие 3-6 месяцев intel могут анонсировать новые видеокарты Battlemage
Сегодня я хочу рассказать вам о проекте, над которым я и мой друг работали последние 6 месяцев. Называется он PLAY365 – и это игровой бот для групповых чатов Telegram.
Логотип PLAY365
Почему мы решили его создать? Все очень просто: розыгрыши всяких призов в больших чатах обычно проходят очень скучно. Все записываются в один большой список/группу/бота, а после окончания записи – админ запускает рандомайзер (рандстафф.ру, рандомус.ру, боты рандома, просто пальцем в небо сам и т.д.), который и выбирает номер победителя из списка. В качестве подтверждения результатов админ либо выкладывает скрин/видео итогов рандомайзера, либо дает ссылку на страничку с розыгрышем. И на наш взгляд, такой подход – мало того, что скучный, так еще и не всегда честный - рандомайзер можно бесконечно перекручивать под нужное число. К тому же, от участника не требуется вообще никакой активности: запишись в список и мониторь результаты. Даже вышедший недавно официальный метод розыгрышей в Telegram использует такой же подход, разве что теперь можно для записи в список установить обязательные для подписки каналы, а честность рандома обеспечена самим Telegram:
Самый главный его минус - необходимость приобретать Telegram Premium для выставления в качестве приза! Хоть опцию добавить свой приз к подписке предусмотрели, и на том спасибо...
Поэтому пришла идея: сделать что-то интересное, честное, интерактивное, требующее участия участника, и обязательно – в самом Telegram, чтобы не переходить на сторонние платформы и сайты.
После обсуждения общей концепции, самой первой была придумана игра «Баскетбол». Если в Telegram отправить в чат эмодзи баскетбольного мяча (🏀), то будет отыграна анимация броска мяча в кольцо, у которой есть 5 вариаций: 3 из них покажут, что мяч промахнулся, 2 – что попал, т. е. шансы на попадание – 40%, причем случайность определяется самим Telegram и на нее никак нельзя повлиять. Мы решили использовать это и сделали скрипт, который проводит игру в три раунда: в первом раунде игрок должен забить хотя бы 1 раз из 3 бросков чтобы пройти дальше, во втором – 2 из 3, в третьем – 3 из 3. Если игрок не попадает нужное количество раз – он выбывает. Чей сейчас ход, сколько кто набрал очков и так далее - все считает бот самостоятельно.
Вот так "Баскетбол" выглядит в чате
Потом мы начали думать, как реализовать запись на игру, и вспомнили об inline-клавиатуре в Telegram API, которая позволяет создавать кнопки в сообщениях от бота. После серии экспериментов, сделали такой порядок:
Админ запускает игру, например Баскетбол, командой /basket
Бот объявляет старт записи на игру сообщением в чат, под сообщением есть три кнопки:
«Присоединиться» - добавит игрока в список участников, при повторном нажатии – удалит его из списка;
«Статус» - сообщит игроку, есть ли он в списке или нет;
«Как играть» - выведет краткие правила текущей игры во всплывающем окне.
Запись на игру
Всплывающее окно "Как играть"
После того, как нужное админу количество участников записалось на игру – он стартует ее командой /next, и дальше бот все делает сам – бросает мяч за игроков, считает очки, сообщает о вылетевших и победителе:
Объявление победителя по результатам бросков
"Баскетбол", пожалуй, единственная игра, где игрок может ничего не делать. Во всех остальных нужно участвовать активно – отправлять цифры или команды, выбирать вариант из предложенных ботом кнопок и так далее.
После реализации ключевых функций дело пошло как по маслу, и мы добавили еще 7 игр:
Киллер (/killer) - каждый раунд бот выбирает случайного киллера из списка игроков и даёт ему список из 10 потенциальных жертв. Киллер пишет в чат номер жертвы для "убийства", если не успел - сам выбывает. Побеждает последний оставшийся в живых. Кстати, иногда киллер может промахнуться!
Бинго (/bingo) - игроки загадывают числа из заданного интервала, а потом бот постепенно оглашает случайные числа из него. Задача – отследить совпадение всех своих чисел со случайными и успеть написать "Бинго". Кто ошибся – выбывает.
Рулетка (/roulette) - бот выбирает случайного игрока, и тот должен успеть написать что угодно в чат. Кто промедлил - выбывает. Побеждает последний оставшийся или ответивший в свою очередь.
Заряд (/charge) - игроки как можно быстрее "заряжают батарейку" своими сообщениями в чате. Кто первый наберёт нужное количество - победил.
Больше-меньше (/updown) - Игроки отгадывают число из числового интервала. Каждый раунд бот пишет текущий интервал и даёт случайному игроку возможность написать число из него. После ответа игрока бот говорит - больше загаданное число написанного или меньше, и скорректирует интервал. Игра продолжается, пока кто-то не назовёт точное число.
Пандора (/pandora) - игроки по очереди выбирают ключи, чтобы открывать ящики. В ящиках - разные бонусы или штрафы. Задача - найти Грааль, кто нашёл – сразу побеждает.
Кинг-Конг (/kong) - В каждом раунде один игрок выбирается в качестве мишени Кинг-Конга. Цель может спрятаться или рискнуть подразнить Кинг-Конга, чтобы уменьшить или увеличить шанс поимки следующего игрока (и себя самого). Побеждает последний оставшийся непойманный игрок.
Также, для каждой игры добавили настройки – сколько длится ожидание ответа игрока, сколько раундов будет в игре, может ли промахиваться киллер и так далее:
Настройки игры "Бинго"
Потом у нас появились мини-игры, одна из них – классическая «Ферма»: нужно выращивать растения разной редкости, поливать и удобрять их, а после того, как они вырастут – собирать и продавать за Респекты (внутриигровую валюту). Более редкие растения приносят больше Респектов.
Ферма - теперь и в Telegram!
Респектами можно делиться, покупать на них новые растения, а также менять их на токены, которые, в свою очередь, можно потратить на покупку уникальности – например, сделать так, что в списке игроков твое имя будет отображаться не как @username, а как заданный тобой текст (например, ПоБеДиТеЛь777).
Токены также можно приумножить (или потерять) в премиум-рулетке
Чтобы админы могли модерировать игры – добавили /ban (запретит игроку записываться на игры в течение определенного срока), /mute (запретит игроку писать сообщения в чат), /kick (удалит игрока из текущей игры). Каждую функцию можно отменить:
Если просто ввести /ban, без указания длительности - срок будет расти динамически
К тому же реализовали возможность установить входной порог по количеству сообщений, которые игрок должен написать в чат для того, чтобы он смог записаться на игру.
Это позволяет проводить игры только для старожилов или активных участников чата:
Такое окно появится, если попробовать присоединиться к игре с лимитом
И в итоге, когда все было сделано и мы начали тестировать бота – неожиданно для себя мы уперлись в ограничения Telegram API по количеству отправляемых ботом сообщений: бот «падал» даже при нескольких, запущенных одновременно, играх. Чтобы это обойти и дать возможность всем играть нормально, сначала мы хотели создать много ботов, чтобы в чате мог быть только какой-то один, но это показалось слишком сложным и плохо масштабируемым при большом спросе на бота. Поэтому был придуман другой подход – сперва админ создает своего бота через @BotFather, получает его API-Token (пример такого токена - 1234567890:abcdefghijABCDEfghiJKLMNopqrSTUVwxyz), и потом связывает своего бота с системой PLAY365, отправив API-Token нашему основному боту, @play365_bot:
Главное меню основного бота
После этого админу становится доступен весь функционал PLAY365 в созданном им боте, который он и добавит в свой чат. Такой подход позволяет нам (и админу) вообще не беспокоиться об ограничениях Telegram.
Чтобы окупать сервера и дальнейшее создание игр и фич – мы прикрутили к боту монетизацию посредством подписки:
Еще мы добавили себе возможность применять промокоды, которые планируем иногда публиковать. Для Пикабу, например, это PIKABU365, который бесплатно применит тариф NEWBIE на 1 месяц к вашему боту.
В целом, проект получился очень насыщенный, с действительно большим количеством функционала: например, я не описал тут возможность добавления игроков-ботов в игры, логи игр, статистику игроков, добавление модераторов, плейсхолдеры для текстовой рекламы в сообщении с записью на игру и в объявлении победителя, призыв участников чата на игру... Всё это мы постарались описать на сайте-инструкции проекта, ссылка в самом конце поста. Если же есть любые вопросы/предложения/идеи - не стесняйтесь писать их тут, в комментариях, или напрямую к нам в саппорт, ссылка также в самом конце.
Отдельно хочу ответить на один из самых частых вопросов (пусть и задаваемый в разных вариациях) - это НЕ СКАМ, НЕ РУЛЕТКА, тут НЕЛЬЗЯ ВЫВОДИТЬ ДЕНЬГИ, это НЕ АЗАРТНАЯ ИГРА, НЕ СТАВКИ! Это просто игровой бот, который делает общение в чатах чуточку интереснее и веселее.