Forwarded from Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter
Библиотека для удобной работы с Telegram Bot API от Сергея Предводителева, одного из разработчиков Yii3.
Полностью поддерживается самая актуальная на текущий момент версия Telegram Bot API 7.7 от 7 июля 2024 года.
Из коробки идёт PSR-клиент, но при желании, можно использовать свой, сделав реализацию интерфейса TelegramClientInterface.
// Telegram bot authentication token
$token = '110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw';
// Dependencies
$streamFactory = new StreamFactory();
$responseFactory = new ResponseFactory();
$requestFactory = new RequestFactory();
$client = new Client($responseFactory, $streamFactory);
// API
$api = new TelegramBotApi(
new PsrTelegramClient(
$token,
$client,
$requestFactory,
$streamFactory,
),
);
Типизированные PHP-классы для всех типов и методов. Результатом вызова методов API будут соответствующие объекты. Например, в результате отправки сообщения получаем объект Message.
$message = $api->sendMessage(
chatId: 22351,
text: 'Hello, world!',
);
Update
можно создать из PSR-запроса или из JSON-строки:$update = Update::fromServerRequest($request);
$update = Update::fromJson($jsonString);
Для логирования запросов к API, результатов ответов и ошибок можно использовать любой PSR-совместимый логгер. Например, Monolog или Yii Log.
/**
* @var TelegramClientInterface $telegramClient
* @var LoggerInterface $logger
*/
$api = new TelegramBotApi(
$telegramClient,
$logger,
);
Пакет одобрен разработчиками Telegram и добавлен на сайт telegram.org.
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - vjik/telegram-bot-api: PHP library to interact with Telegram Bot API
PHP library to interact with Telegram Bot API. Contribute to vjik/telegram-bot-api development by creating an account on GitHub.
Forwarded from Гайды по JavaScript | Программирование
Современный способ глубокого клонирования объектов
Подробнее — Отличная статья
👉 Гайды по JavaScript | #theory
Подробнее — Отличная статья
Please open Telegram to view this post
VIEW IN TELEGRAM
Improving the Performance of Vue 3 Applications Using v-memo and KeepAlive
https://www.thisdot.co/blog/improving-the-performance-of-vue-3-applications-using-v-memo-and-keepalive
#coding
#vue
https://www.thisdot.co/blog/improving-the-performance-of-vue-3-applications-using-v-memo-and-keepalive
#coding
#vue
This Dot Labs
Improving the Performance of Vue 3 Applications Using v-memo and KeepAlive - This Dot Labs
Optimize your Vue.js application with v-memo for memoization and the KeepAlive component for caching and improve your site users experience.
Forwarded from Node.JS [ru] | Серверный JavaScript
При разработке на реактивных фреймворках многие забывают о том, что итоговое приложение – это что-то ближе к SPA, а не классический сайт как «на Wordpress». И когда дело доходит до SEO-продвижения, многие хватаются за голову, потому что поисковые системы плохо работают с такими ресурсами. Поэтому давайте сегодня познакомимся с технологией SSR, которая решит данную проблему.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Frontender's notes [ru]
В этой статье я подробно расскажу о реализации API-клиента на языке TypeScript для работы как со сторонними API, так и со своими собственными. Клиент может работать с публичными и защищенными эндпойнтами и не привязан к конкретному фреймворку, что делает его пригодным для использования в React, Vue, Svelte и других фреймворках.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
#css #tip by Shripal Soni
Please open Telegram to view this post
VIEW IN TELEGRAM
Build a CRUD App With Only JSON Files Using a Node.js API
https://adevait.com/nodejs/build-a-crud-app-with-only-json-files
#coding
#node
https://adevait.com/nodejs/build-a-crud-app-with-only-json-files
#coding
#node
Adeva
Build a CRUD App With Only JSON Files Using a Node.js API | Adeva
In this tutorial, we'll learn how to create CRUD operations with just JSON files. All you need to follow along is basic Node.js knowledge.
Building a simple tooltip component that never goes off screen
https://medium.com/carwow-product-engineering/building-a-simple-tooltip-component-that-never-goes-off-screen-c7039dcab5f9
#coding
#vue
https://medium.com/carwow-product-engineering/building-a-simple-tooltip-component-that-never-goes-off-screen-c7039dcab5f9
#coding
#vue
Medium
Building a simple tooltip component that never goes off screen
I‘ve seen plenty of UI libraries for tooltips and popovers, but none of them satisfied me. So I built a simple and lightweight one instead.
Tailwind CSS and Dynamic or Conditional Class Names in Vue
https://www.vincentschmalbach.com/tailwind-css-and-dynamic-or-conditional-class-names-in-vue/
#coding
#css
#tailwind
https://www.vincentschmalbach.com/tailwind-css-and-dynamic-or-conditional-class-names-in-vue/
#coding
#css
#tailwind
Vincent Schmalbach
Tailwind CSS and Dynamic or Conditional Class Names in Vue
Tailwind CSS is designed to include only the classes used in your project in the final build CSS file. This approach keeps the file size small and optimizes load times.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Метод утёнка
Forwarded from Senior Frontend Developer | JavaScript, React, HTML & CSS
Использование монад в JavaScript для управления состоянием и побочными эффектами
Монада — это структура данных, которая имеет специальные методы для обработки состояний и побочных эффектов. В JavaScript монады могут быть реализованы с помощью классов или фабричных функций.
Монады являются функциональным паттерном, который позволяет управлять состоянием и побочными эффектами с чистыми функциями. Монады могут показаться сложными на первый взгляд, но они являются мощным инструментом, способным упростить ваш код и сделать его более предсказуемым.
В примере мы создаем класс Maybe, который является реализацией монады. Методы map, chain и join позволяют нам преобразовать значение внутри монады, сохраняя при этом семантику отсутствующего значения. Также мы используем монаду Maybe для извлечения адреса пользователя по его идентификатору. Благодаря монаде мы избегаем проблемы "пробрасывания" null или undefined, и можем безопасно извлечь значение адреса без проверки на наличие всех промежуточных объектов.
Монада — это структура данных, которая имеет специальные методы для обработки состояний и побочных эффектов. В JavaScript монады могут быть реализованы с помощью классов или фабричных функций.
Монады являются функциональным паттерном, который позволяет управлять состоянием и побочными эффектами с чистыми функциями. Монады могут показаться сложными на первый взгляд, но они являются мощным инструментом, способным упростить ваш код и сделать его более предсказуемым.
В примере мы создаем класс Maybe, который является реализацией монады. Методы map, chain и join позволяют нам преобразовать значение внутри монады, сохраняя при этом семантику отсутствующего значения. Также мы используем монаду Maybe для извлечения адреса пользователя по его идентификатору. Благодаря монаде мы избегаем проблемы "пробрасывания" null или undefined, и можем безопасно извлечь значение адреса без проверки на наличие всех промежуточных объектов.
Forwarded from Frontender Libs - обзор библиотек JS / CSS
Gun.js
Gun.js — это библиотека JavaScript, предназначенная для создания децентрализованных графовых баз данных, поддерживающих работу в реальном времени. Gun.js используется для разработки приложений, которые могут синхронизироваться между разными устройствами без необходимости наличия центрального сервера, что делает её полезной для создания P2P-приложений и оффлайн-функциональности.
👉 @sWebDev
Gun.js — это библиотека JavaScript, предназначенная для создания децентрализованных графовых баз данных, поддерживающих работу в реальном времени. Gun.js используется для разработки приложений, которые могут синхронизироваться между разными устройствами без необходимости наличия центрального сервера, что делает её полезной для создания P2P-приложений и оффлайн-функциональности.
👉 @sWebDev
Forwarded from CodeCamp
Полезное-ночное: нашёл огромный репозитарий, до отказа забитый Bash-скриптами.
До отказа — значит, что их там больше тысячи на все случаи жизни:
До отказа — значит, что их там больше тысячи на все случаи жизни:
AWS, GCP, Kubernetes, Docker, CI/CD, APIs, SQL, PostgreSQL, MySQL, Hive, Impala, Kafka, Hadoop, Jenkins, GitHub, GitLab, BitBucket, Azure DevOps, TeamCity, Spotify, MP3, LDAP, Code/Build Linting, pkg mgmt для Linux, Mac, Python, Perl, Ruby, NodeJS, Golang, .bashrc, .vimrc, .gitconfig, .screenrc, tmux...
Forwarded from Вайб кодинг
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Веб-страница
Vue.js и Vite — что нового в 2024 году?
Evan You на VueConf US 2024 рассказал о свежих обновлениях в экосистеме Vue и Vite.
Хотите узнать, что изменилось в любимом фреймворке? Посмотрите выступление и изучите актуальные фичи:
https://youtu.be/A9MSFp9Fs8k?si=h3O-zli5G35HXXEQ
Evan You на VueConf US 2024 рассказал о свежих обновлениях в экосистеме Vue и Vite.
Хотите узнать, что изменилось в любимом фреймворке? Посмотрите выступление и изучите актуальные фичи:
https://youtu.be/A9MSFp9Fs8k?si=h3O-zli5G35HXXEQ
Download an Entire Webpage with JavaScript, Including Inline CSS
https://medium.com/@neog.anupal101/download-an-entire-webpage-with-javascript-including-inline-css-d38866544c5a
#coding
#js
https://medium.com/@neog.anupal101/download-an-entire-webpage-with-javascript-including-inline-css-d38866544c5a
#coding
#js
Medium
Download an Entire Webpage with JavaScript, Including Inline CSS
Have you ever wanted to download an entire webpage, including its CSS, with a simple click? With the power of JavaScript, you can create a…