عملگر پایپ (Pipe Operator) در PHP
عملگر پایپ (
ساختار کلی عملگر پایپ:
در این ساختار:
- مقدار سمت چپ (value) محاسبه شده و سپس به تابع سمت راست (callable) ارسال میشود، و نتیجهٔ آن تابع، خروجی نهایی عبارت خواهد بود.
- تابع سمت راست باید فقط یک پارامتر لازم داشته باشد؛ زیرا همان یک پارامتر از پایپ دریافت میشود.
- نماد (
چند مثال:
پیش از اضافه شدن پایپ تواع پشت سر هم نوشته میشد:
یا از متغیرهای موقتی استفاده میشد:
اما با استفاده از پایپ می توان ساختار تمیزتر و قابل فهمتری را داشته باشیم:
ترتیب اجرای عملیات کاملا روشن و خوانا است:
ابتدا
ترکیب توابع استاندارد با Closure
از آنجایی که گفته شد توابع تنها یک متد داشته باشند، برای توابع با چند متد میتوان از کلوژرها استفاده کرد.
در این مثال
عملیات روی آرایه
چنین زنجیرهای بدون استفاده از پایپ، بهطور معمول شامل متغیرهای واسطه یا تو در تویی توابع خواهد بود؛ اما با استفاده از پایپ، تمامی مراحل به صورت خوانا پشت سر هم نوشته شدهاند.
مزایای استفاده از عملگر پایپ:
- جریان داده از بالا به پایین قابل مشاهده است و عملیات به شکلی خطی بیان میشوند.
- بهجای اینکه توابع داخل یکدیگر قرار بگیرند، هر تابع بهطور مستقل در یک مرحله اجرا میشود.
- نیازی به ایجاد متغیر برای ذخیرهٔ نتیجهٔ هر مرحله نیست.
محدودیتها و نکات مهم:
- توابعی که بیش از یک پارامتر ضروری دارند، مستقیماً با پایپ قابل استفاده نیستند.
- توابعی که پارامترشان با ارجاع (By Reference) دریافت میشود قابل استفاده نیستند (مانند
- اگر تابعی مقدار بازگشتی نداشته باشد (void)، نتیجهٔ عملیات null خواهد بود و استفادهٔ آن در میانهٔ زنجیره صحیح نیست.
به طور کلی عملگر پایپ در PHP 8.5 امکان نگارش کدی خواناتر، مرحلهای و ساختیافته را فراهم میکند.
این عملگر با ارسال خروجی هر مرحله به مرحلهٔ بعد، جریان داده را سادهسازی میکند و برای پردازش رشتهها، آرایهها و دادههای میانمرحلهای بسیار مناسب است.
در مقابل، محدودیتهایی نظیر نیاز به تکپارامتری بودن تابع یا عدم پشتیبانی از توابع دارای ارجاع وجود دارد که باید در استفادهٔ روزمره مورد توجه قرار گیرد.
@AmirhDeveloper
.
عملگر پایپ (
|> ) از PHP 8.5 با هدف سادهسازی جریان داده و افزایش خوانایی کد اضافه شده است. این عملگر امکان میدهد خروجی یک عبارت بهعنوان ورودی تابع بعدی استفاده شود؛ بدون آنکه نیاز به تو در تو کردن فراخوانیها یا استفاده از متغیرهای موقتی باشد.ساختار کلی عملگر پایپ:
$value |> callable;
در این ساختار:
- مقدار سمت چپ (value) محاسبه شده و سپس به تابع سمت راست (callable) ارسال میشود، و نتیجهٔ آن تابع، خروجی نهایی عبارت خواهد بود.
- تابع سمت راست باید فقط یک پارامتر لازم داشته باشد؛ زیرا همان یک پارامتر از پایپ دریافت میشود.
- نماد (
... ) پس از نام تابع، بیانگر این است که پارامتر آن تابع از طریق عملگر پایپ وارد میشود.چند مثال:
پیش از اضافه شدن پایپ تواع پشت سر هم نوشته میشد:
$result = strtolower(trim($title));
یا از متغیرهای موقتی استفاده میشد:
$trim = trim($title);
$result = strtolower($trim);
اما با استفاده از پایپ می توان ساختار تمیزتر و قابل فهمتری را داشته باشیم:
$result = $title
|> trim(...)
|> strtolower(...);
ترتیب اجرای عملیات کاملا روشن و خوانا است:
ابتدا
trim، سپس strtolower.ترکیب توابع استاندارد با Closure
$slug = $title
|> trim(...)
|> (fn($s) => str_replace(' ', '-', $s))
|> strtolower(...);
از آنجایی که گفته شد توابع تنها یک متد داشته باشند، برای توابع با چند متد میتوان از کلوژرها استفاده کرد.
در این مثال
str_replace نیاز به پارامترهای بیشتری است به همین دلیل از arrow-function استفاده شده.عملیات روی آرایه
$clean = $items
|> (fn(array $arr) => array_map(fn($x) => trim($x), $arr))
|> (fn(array $arr) => array_filter($arr, fn($x) => $x !== ''))
|> array_values(...);
چنین زنجیرهای بدون استفاده از پایپ، بهطور معمول شامل متغیرهای واسطه یا تو در تویی توابع خواهد بود؛ اما با استفاده از پایپ، تمامی مراحل به صورت خوانا پشت سر هم نوشته شدهاند.
مزایای استفاده از عملگر پایپ:
- جریان داده از بالا به پایین قابل مشاهده است و عملیات به شکلی خطی بیان میشوند.
- بهجای اینکه توابع داخل یکدیگر قرار بگیرند، هر تابع بهطور مستقل در یک مرحله اجرا میشود.
- نیازی به ایجاد متغیر برای ذخیرهٔ نتیجهٔ هر مرحله نیست.
محدودیتها و نکات مهم:
- توابعی که بیش از یک پارامتر ضروری دارند، مستقیماً با پایپ قابل استفاده نیستند.
"hello world" |> explode(' ', ...); // ERROR
"hello world" |> (fn($v) => explode(' ', $v)); // correct- توابعی که پارامترشان با ارجاع (By Reference) دریافت میشود قابل استفاده نیستند (مانند
array_pop یا sort)- اگر تابعی مقدار بازگشتی نداشته باشد (void)، نتیجهٔ عملیات null خواهد بود و استفادهٔ آن در میانهٔ زنجیره صحیح نیست.
به طور کلی عملگر پایپ در PHP 8.5 امکان نگارش کدی خواناتر، مرحلهای و ساختیافته را فراهم میکند.
این عملگر با ارسال خروجی هر مرحله به مرحلهٔ بعد، جریان داده را سادهسازی میکند و برای پردازش رشتهها، آرایهها و دادههای میانمرحلهای بسیار مناسب است.
در مقابل، محدودیتهایی نظیر نیاز به تکپارامتری بودن تابع یا عدم پشتیبانی از توابع دارای ارجاع وجود دارد که باید در استفادهٔ روزمره مورد توجه قرار گیرد.
@AmirhDeveloper
.
2👍6❤2🔥2👎1🍓1🙉1
ورژن 4 فریمورک LaraGram درحال توسعه هست و دیگه از پس هر کاری بر میاد
اولین فیچری که میخوام بهش اشاره کنم پشتیبانی از MTProto به واسطه Wrapper خودش یعنی LaraProto هست
این یعنی میتونیم به سادی رباتهای سلف رو هم توسعه بدیم.
بعد از اون میرسیم به ابزارهای توسعه مینیاپها
لاراگرام توی این ورژن یک سیستم روتینگ تماماعیار مشابه روتینگ لاراول رو در اختیارمون قرار میده و در کنارش یک Template Engine پیشرفته برای رندر ReactJS، VueJS، و احتمالا چیزای دیگه.
این یعنی شما به سادگی فرانت مینیاپتون رو توسعه بدید، و بکاند اون رو کنار بکاند ربات خودتون و کاملا سینک با اون توسعه بدید
این دو فیچرهای کلیدی لاراگرام 4 هستن.
برای باقی فیچرها میتونم به کانورسیشنها اشاره کنم.
اگر مدت زیادی اینجا عضو بوده باشید، میدونید تا الان دوبار این سیستم به لاراگرام اضافه شده و حذف شده
و دلیلش هم این بوده که اون چیزی که انتظارش رو داشتم از آب در نیومده
ولی این دفعه به لطف زیرساخت استیبل و کامل لاراگرام میتونیم چیزی که واقعا ازش انتظار داریم رو داشته باشیم
این سیستم میتونه به سادگی یک گفتوگو بین کاربر و ربات ایجاد کنه، بدون این که نیاز باشه استپهارو مدیریت کنید یا چیزی رو دستی ولیدیشن و نگهداری کنید،
صرفا سوالات رو به این سیستم میدید و باقی کار با لاراگرام هست
فیچر بعدی Acting هست، که باهاش میتونید خودتون رو جای یک کاربر دیگه بذارید
فرض کنید یک بخش سفارشات برای کاربر نوشتید، که کاربر سفارشات خودش رو مشاهده کنه
همچنین یکبار هم این سیستم رو توی پنل ادمین پیاده کردید که ادمین لیست سفارش هر کاربر رو ببینه
با این قابلیت فقط یکبار این سیستم برای کاربر توسعه داده میشه، و ادمین کافیه خودش رو جای کاربر بذاره
فیچر بعدی آنتیفلود هوشمند هست
این سیستم تعداد کال هر متد رو در هر درخواست شمارش میکنه و فواصل بین هر کال رو محاسبه میکنه و بسته به نوع متد و ضریب سختگیری اون خودکار دیلی بین اون هارو اعمال میکنه، بدون نیاز به هیچ گونه پردازش دستی
به واسطه این سیستم، سیستم برادکست اضافه میشه که خیلی ساده متن و لیست کاربران رو بهش میدید و عملیات ارسال و ... رو به عهده لاراگرام میذارید
قابلیت دیگه Json Schema هست که باهاشمیتونید یک ساختار جیستون استاتیک تایپ داشته باشید.
این قابلیت برای API نویسی TMAها و ... میتونه کاربردی باشه
اینها بخشی از قابلیتهای لاراگرام ورژن ۴ هستن که سال آینده ریلیز میشه.
باز هم مثل همیشه استار به ریپوزیتوری باعث شادمانی ماست🔥❤️
⭐️ LaraGram
⭐️ Core
@AmirHDeveloper
.
اولین فیچری که میخوام بهش اشاره کنم پشتیبانی از MTProto به واسطه Wrapper خودش یعنی LaraProto هست
این یعنی میتونیم به سادی رباتهای سلف رو هم توسعه بدیم.
بعد از اون میرسیم به ابزارهای توسعه مینیاپها
لاراگرام توی این ورژن یک سیستم روتینگ تماماعیار مشابه روتینگ لاراول رو در اختیارمون قرار میده و در کنارش یک Template Engine پیشرفته برای رندر ReactJS، VueJS، و احتمالا چیزای دیگه.
این یعنی شما به سادگی فرانت مینیاپتون رو توسعه بدید، و بکاند اون رو کنار بکاند ربات خودتون و کاملا سینک با اون توسعه بدید
این دو فیچرهای کلیدی لاراگرام 4 هستن.
برای باقی فیچرها میتونم به کانورسیشنها اشاره کنم.
اگر مدت زیادی اینجا عضو بوده باشید، میدونید تا الان دوبار این سیستم به لاراگرام اضافه شده و حذف شده
و دلیلش هم این بوده که اون چیزی که انتظارش رو داشتم از آب در نیومده
ولی این دفعه به لطف زیرساخت استیبل و کامل لاراگرام میتونیم چیزی که واقعا ازش انتظار داریم رو داشته باشیم
این سیستم میتونه به سادگی یک گفتوگو بین کاربر و ربات ایجاد کنه، بدون این که نیاز باشه استپهارو مدیریت کنید یا چیزی رو دستی ولیدیشن و نگهداری کنید،
صرفا سوالات رو به این سیستم میدید و باقی کار با لاراگرام هست
فیچر بعدی Acting هست، که باهاش میتونید خودتون رو جای یک کاربر دیگه بذارید
فرض کنید یک بخش سفارشات برای کاربر نوشتید، که کاربر سفارشات خودش رو مشاهده کنه
همچنین یکبار هم این سیستم رو توی پنل ادمین پیاده کردید که ادمین لیست سفارش هر کاربر رو ببینه
با این قابلیت فقط یکبار این سیستم برای کاربر توسعه داده میشه، و ادمین کافیه خودش رو جای کاربر بذاره
فیچر بعدی آنتیفلود هوشمند هست
این سیستم تعداد کال هر متد رو در هر درخواست شمارش میکنه و فواصل بین هر کال رو محاسبه میکنه و بسته به نوع متد و ضریب سختگیری اون خودکار دیلی بین اون هارو اعمال میکنه، بدون نیاز به هیچ گونه پردازش دستی
به واسطه این سیستم، سیستم برادکست اضافه میشه که خیلی ساده متن و لیست کاربران رو بهش میدید و عملیات ارسال و ... رو به عهده لاراگرام میذارید
قابلیت دیگه Json Schema هست که باهاشمیتونید یک ساختار جیستون استاتیک تایپ داشته باشید.
این قابلیت برای API نویسی TMAها و ... میتونه کاربردی باشه
اینها بخشی از قابلیتهای لاراگرام ورژن ۴ هستن که سال آینده ریلیز میشه.
باز هم مثل همیشه استار به ریپوزیتوری باعث شادمانی ماست🔥❤️
⭐️ LaraGram
⭐️ Core
@AmirHDeveloper
.
4❤7🍓5👍2🔥1
Forwarded from Mahi in Tech
درود و امید که خوب باشید.
یکسری منابع قرار میدم که شاید توی این وضعیتای که امیدوارم هرچه زودتر به خوبی تموم شه، بهدردتون بخوره.
دیاناس داخلی:
5.202.100.100
5.202.100.101
رجیستری داکر:
hub.hamdocker.ir
docker.mobinhost.com
docker.arvancloud.ir
میرور NPM, PyPi:
runflare.com/mirrors
میرور Ubuntu:
mirror.digitalvps.ir/ubuntu
ubuntu.pishgaman.net/ubuntu
ubuntu.pars.host
mirror.arvancloud.ir/ubuntu
داکیومنت یهسری از تکنولوژیها و ویکیپدیای کامپیوتر:
193.151.130.199
DNSTT Resolver:
8.8.8.8:53
77.88.8.8:53
77.88.8.1:53
2.188.21.130:53
2.189.1.1:53
یکسری منابع قرار میدم که شاید توی این وضعیتای که امیدوارم هرچه زودتر به خوبی تموم شه، بهدردتون بخوره.
دیاناس داخلی:
5.202.100.100
5.202.100.101
رجیستری داکر:
hub.hamdocker.ir
docker.mobinhost.com
docker.arvancloud.ir
میرور NPM, PyPi:
runflare.com/mirrors
میرور Ubuntu:
mirror.digitalvps.ir/ubuntu
ubuntu.pishgaman.net/ubuntu
ubuntu.pars.host
mirror.arvancloud.ir/ubuntu
داکیومنت یهسری از تکنولوژیها و ویکیپدیای کامپیوتر:
193.151.130.199
DNSTT Resolver:
8.8.8.8:53
77.88.8.8:53
77.88.8.1:53
2.188.21.130:53
2.189.1.1:53
❤1
Forwarded from Mahi in Tech
Mahi in Tech
درود و امید که خوب باشید. یکسری منابع قرار میدم که شاید توی این وضعیتای که امیدوارم هرچه زودتر به خوبی تموم شه، بهدردتون بخوره. دیاناس داخلی: 5.202.100.100 5.202.100.101 رجیستری داکر: hub.hamdocker.ir docker.mobinhost.com docker.arvancloud.ir …
اگر هم قصد داشتید که یک پیامرسان سلفهاست بالا بیارید (چیزی که توی این خاموشی ارتباطات به کار میاد) و حوصلهی سر و کله زدن با اینها و قطعی اینترنت رو برای بالا آوردن mattermost یا rocketchat و یا هرچی نداشتین، میتونید از سرویس hamravesh.com استفاده کنید و روش RocketChat خودتون رو بدون دردسر راهاندازی کنین، E2EE هم میشه روش فعال کرد تا خیالتون کمی راحتتر باشه.
درغیر اینصورت ایمیجهاشون توی همین رجیستریها موجود هستن، میتونید خودتون بالا بیارید.
درغیر اینصورت ایمیجهاشون توی همین رجیستریها موجود هستن، میتونید خودتون بالا بیارید.
❤3🍓1
| AmirHossein |
اولین فیچری که میخوام بهش اشاره کنم پشتیبانی از MTProto به واسطه Wrapper خودش یعنی LaraProto هست
این یعنی میتونیم به سادی رباتهای سلف رو هم توسعه بدیم.
این یعنی میتونیم به سادی رباتهای سلف رو هم توسعه بدیم.
تا یک جاهایی پیشرفت داشتیم
میتونیم درخواست لاگین بدیم، تلگرام هم کد رو میفرسته
این یعنی به احتمال زیاد تمام متدها به درستی کار میکنن
ولی خب هنوز خیلی کار داره، و یکم هم سرم شلوغه خیلی نمیتونم وقت بذارم روش
و از طرفی هم تلگرام به شدت محدود میکنه بعد چند تا تست
میتونیم درخواست لاگین بدیم، تلگرام هم کد رو میفرسته
این یعنی به احتمال زیاد تمام متدها به درستی کار میکنن
ولی خب هنوز خیلی کار داره، و یکم هم سرم شلوغه خیلی نمیتونم وقت بذارم روش
و از طرفی هم تلگرام به شدت محدود میکنه بعد چند تا تست
🔥7❤4👍2🍓2
پکیج Laraquest پس از انتشار آپدیت
بهصورت خودکار متدها و کلاسهای Updates را بر اساس داکیومنت رسمی تلگرام تولید میکند.
در نتیجه، Laraquest بدون نیاز به نگهداری دستی، همیشه و در هر لحظه بهروز خواهد بود.
- LaraGram
- Laraquest
.
1.6.0، بلافاصله پس از نصب یا آپدیت با استفاده از دستورات زیر:composer require laraxgram/laraquest
composer update laraxgram/laraquest
بهصورت خودکار متدها و کلاسهای Updates را بر اساس داکیومنت رسمی تلگرام تولید میکند.
در نتیجه، Laraquest بدون نیاز به نگهداری دستی، همیشه و در هر لحظه بهروز خواهد بود.
- LaraGram
- Laraquest
.
GitHub
GitHub - laraXgram/Laraquest: Sending requests and receiving Telegram updates.
Sending requests and receiving Telegram updates. Contribute to laraXgram/Laraquest development by creating an account on GitHub.
1🔥5🍓2
Forwarded from IRCF | اینترنت آزاد برای همه
بخاطر هک فایروال، بعضی از روشها مجددا فعال شدن و بعضی از فیلترشکن فروشا پریدن وسط ماجرا که بیاین ازمون کانفیگ بخرین. مشخص نیست این دریچه چقدر دووم بیاره، ولی مراقب باشین سرتون کلاه نذارن!
🔍 ircf.space
@ircfspace
🔍 ircf.space
@ircfspace
🍓3👍1
سال نو مبارک
سال خوبی رو براتون آرزو میکنم
ایشالا که امسال دیگه همه چیز درست میشه❤️
سال خوبی رو براتون آرزو میکنم
ایشالا که امسال دیگه همه چیز درست میشه❤️
❤4🕊1
Forwarded from Mahi in Tech
درتلاش هستم یکسری ابزار جمعوجور -- از سر ناچاری -- روی شبکهی ملی دولتی بالا بیارم تا حداقل طی این مدتی که دسترسی به اینترنت نداریم، بتونیم با این سرویسهای داخلی دولتی بقا پیدا کنیم 😱
🔸 vault.asiah.ir - Github
به کمک این صفحه میتونید به سادگی هر متنای رو با یک کلید رمزنگاری/رمزگشایی کنید، حالا بهصورت هش خام یا متن human-readable فارسی. مناسب برای ارسال تنظیمات ویپیان یا اطلاعات حساس بر بستر pastebinـها یا پیامرسانهای دولتی.
🔸 shard.asiah.ir - Github
به کمک این صفحه میتونید بهصورت کاملا آفلاین و ایمن هر نوع فایلی رو به پارتهای مساوی با حجم مشخصی تقسیم کنید، و دوباره مرجش کنید. امکان تنظیم پسورد هم وجود داره.
مناسبِ تقسیم فایلهای حجیم یا معمول به پارتهای کوچکتر برای گذر از محدودیت آپلودرها--پیامرسانها، بههمراه پسورد مشخص.
🔸 echo.asiah.ir - Github
یک pastebin ساده که میتونید باهاش هر متنی رو به اشتراک بذارید، چه بهصورت one-time و چه encrypt شده و با پسورد. پیشنهاد میکنم اگر خواستید متن حساس یا حتی معمولی بهاشتراک بذارید براش پسورد هم قرار بدید تا سمت کلاینت encryption/decryptionش انجام بشه.
امیدوارم هرچه زودتر این وضعیت درست بشه تا دیگه نیازی به این کارا نباشه🤦♀️
🔸 vault.asiah.ir - Github
به کمک این صفحه میتونید به سادگی هر متنای رو با یک کلید رمزنگاری/رمزگشایی کنید، حالا بهصورت هش خام یا متن human-readable فارسی. مناسب برای ارسال تنظیمات ویپیان یا اطلاعات حساس بر بستر pastebinـها یا پیامرسانهای دولتی.
🔸 shard.asiah.ir - Github
به کمک این صفحه میتونید بهصورت کاملا آفلاین و ایمن هر نوع فایلی رو به پارتهای مساوی با حجم مشخصی تقسیم کنید، و دوباره مرجش کنید. امکان تنظیم پسورد هم وجود داره.
مناسبِ تقسیم فایلهای حجیم یا معمول به پارتهای کوچکتر برای گذر از محدودیت آپلودرها--پیامرسانها، بههمراه پسورد مشخص.
🔸 echo.asiah.ir - Github
یک pastebin ساده که میتونید باهاش هر متنی رو به اشتراک بذارید، چه بهصورت one-time و چه encrypt شده و با پسورد. پیشنهاد میکنم اگر خواستید متن حساس یا حتی معمولی بهاشتراک بذارید براش پسورد هم قرار بدید تا سمت کلاینت encryption/decryptionش انجام بشه.
امیدوارم هرچه زودتر این وضعیت درست بشه تا دیگه نیازی به این کارا نباشه
Please open Telegram to view this post
VIEW IN TELEGRAM
❤9
| AmirHossein |
Photo
توی یک ماه اخیر که دسترسی به اینترنت تقریبا صفر بوده، ایده پروژه جدیدی به ذهنم رسید، که هم مشکلاتی رو حل میکنه، و هم باعث میشه توی این مدت بیکار نباشم.
این پروژه یک محیط تست و توسعه رباتهای تلگرامی به صورت کاملا آفلاین هست.
این پروژه یک bot api server شبیهسازی شده رو اجرا میکنه که متدهای تلگرامی، و آپدیت هارو در اختیارتون میذاره؛
همچنین یک کلاینت اختصاصی، برای کار با رباتهای شبیهسازی شده.
کلیت کار به این صورت هست، که یک کلاینت تحت وب در اختیار شما قرار داده میشه
این کلاینت یک محیط شبیه سازی شده تلگرام هست
میتونید یک ربات بسازید، بهش پیام بدید، یا بهتون پیام بده.
همچنین میتونید یوزرهای تستی متعددی رو ایجاد کنید و با یوزرهای مختلف به ربات پیام بدید.
هر ربات یک توکن داره، که میشه ازش توی هر لایبرری یا زبانی استفاده کرد.
همچنین میتونید بهش وبهوک ست کنید تا با ارسال هر پیام به ربات، آپدیتش به سرور رباتتون ارسال بشه.
این پروژه تازه فاز اولیه رو گذرونده، که صرفا میتونه پیام های متنی ساده رو رد و بدل کنه.
هدف این پروژه برای من ایرانی گذر از قطعی اینترنت هست.
اما به طور کلی با این ابزار، بدون دردسر داشتن سرور، اینترنت، SSL، یا بیلد کردن API Server، یا NGROK و... میتونیم ربات هامون رو توسعه بدیم.
سرور این پروژه با Rust نوشته شده، و کلاینت اون با React، همچنین از Python برای اسکرپ کردن متدها و تایپها از داکیومنت و تولید کدهای خودکار استفاده شده.
به امید گذر از این اتفاقات و ایرانی بدون مشکلات عجیب غریب
این پروژه یک محیط تست و توسعه رباتهای تلگرامی به صورت کاملا آفلاین هست.
این پروژه یک bot api server شبیهسازی شده رو اجرا میکنه که متدهای تلگرامی، و آپدیت هارو در اختیارتون میذاره؛
همچنین یک کلاینت اختصاصی، برای کار با رباتهای شبیهسازی شده.
کلیت کار به این صورت هست، که یک کلاینت تحت وب در اختیار شما قرار داده میشه
این کلاینت یک محیط شبیه سازی شده تلگرام هست
میتونید یک ربات بسازید، بهش پیام بدید، یا بهتون پیام بده.
همچنین میتونید یوزرهای تستی متعددی رو ایجاد کنید و با یوزرهای مختلف به ربات پیام بدید.
هر ربات یک توکن داره، که میشه ازش توی هر لایبرری یا زبانی استفاده کرد.
همچنین میتونید بهش وبهوک ست کنید تا با ارسال هر پیام به ربات، آپدیتش به سرور رباتتون ارسال بشه.
این پروژه تازه فاز اولیه رو گذرونده، که صرفا میتونه پیام های متنی ساده رو رد و بدل کنه.
هدف این پروژه برای من ایرانی گذر از قطعی اینترنت هست.
اما به طور کلی با این ابزار، بدون دردسر داشتن سرور، اینترنت، SSL، یا بیلد کردن API Server، یا NGROK و... میتونیم ربات هامون رو توسعه بدیم.
سرور این پروژه با Rust نوشته شده، و کلاینت اون با React، همچنین از Python برای اسکرپ کردن متدها و تایپها از داکیومنت و تولید کدهای خودکار استفاده شده.
به امید گذر از این اتفاقات و ایرانی بدون مشکلات عجیب غریب
❤13👍2
| AmirHossein |
توی یک ماه اخیر که دسترسی به اینترنت تقریبا صفر بوده، ایده پروژه جدیدی به ذهنم رسید، که هم مشکلاتی رو حل میکنه، و هم باعث میشه توی این مدت بیکار نباشم. این پروژه یک محیط تست و توسعه رباتهای تلگرامی به صورت کاملا آفلاین هست. این پروژه یک bot api server شبیهسازی…
احتمالا این بزرگترین پروژهای هست که توی عمرم زدم.
اول که شروع کردم فکر میکردم پیاده سازی چند تا API سادهس، ولی الان که دارم فکرش رو میکنم در پایان کار کل تلگرام از صفر پیاده سازی شده، چه کلاینت و چه سرور
یعنی اگر روی یک سرور ران کنیم یک پیامرسان با تمام قابلیتهای تلگرام داریم🗿
اول که شروع کردم فکر میکردم پیاده سازی چند تا API سادهس، ولی الان که دارم فکرش رو میکنم در پایان کار کل تلگرام از صفر پیاده سازی شده، چه کلاینت و چه سرور
یعنی اگر روی یک سرور ران کنیم یک پیامرسان با تمام قابلیتهای تلگرام داریم🗿
👍2
| AmirHossein |
توی یک ماه اخیر که دسترسی به اینترنت تقریبا صفر بوده، ایده پروژه جدیدی به ذهنم رسید، که هم مشکلاتی رو حل میکنه، و هم باعث میشه توی این مدت بیکار نباشم. این پروژه یک محیط تست و توسعه رباتهای تلگرامی به صورت کاملا آفلاین هست. این پروژه یک bot api server شبیهسازی…
برنامهریزیها، طراحی ساختار و برنامهنویسی زیرساختش حدود یک ماه درگیری داشت
ولی از اینجا به بعد به شدت سریع پیش میره، چون زیر ساخت آماده هست فقط میمونه متد هارو یکی یکی پیادهسازی کنم و فرانت کلاینت رو بزنم
از اونجایی که فرانت کار خوبی نیستم از AI برای طراحی کلاینت کمک گرفتم، دیزاین آنچنان خوبی نداره، ولی بهتر از چیزیه که خودم میزدم
میمونه سرور که به سرعت نوشته میشه
تا اینجا تمام نوعهای پیام پشتیبانی میشه به صورت کامل، از یک پیام متنی ساده، تا استیکر و نظرسنجی و فاکتور
بخش عظیمی از گروهها پیادهسازی شده
مونده یک سری بخش های کوچیک که امشب میزنم، و تاپیکها که میره برای بعدا
بعد از اون پیادهسازی کانالها و Discussionها هست
قابلیتهای بیزینسی و یکم خوردهکاری
پروژه به شدت جالب و آموزندهای برای گذر زمان
ولی از اینجا به بعد به شدت سریع پیش میره، چون زیر ساخت آماده هست فقط میمونه متد هارو یکی یکی پیادهسازی کنم و فرانت کلاینت رو بزنم
از اونجایی که فرانت کار خوبی نیستم از AI برای طراحی کلاینت کمک گرفتم، دیزاین آنچنان خوبی نداره، ولی بهتر از چیزیه که خودم میزدم
میمونه سرور که به سرعت نوشته میشه
تا اینجا تمام نوعهای پیام پشتیبانی میشه به صورت کامل، از یک پیام متنی ساده، تا استیکر و نظرسنجی و فاکتور
بخش عظیمی از گروهها پیادهسازی شده
مونده یک سری بخش های کوچیک که امشب میزنم، و تاپیکها که میره برای بعدا
بعد از اون پیادهسازی کانالها و Discussionها هست
قابلیتهای بیزینسی و یکم خوردهکاری
پروژه به شدت جالب و آموزندهای برای گذر زمان
🍓2
| AmirHossein |
توی یک ماه اخیر که دسترسی به اینترنت تقریبا صفر بوده، ایده پروژه جدیدی به ذهنم رسید، که هم مشکلاتی رو حل میکنه، و هم باعث میشه توی این مدت بیکار نباشم. این پروژه یک محیط تست و توسعه رباتهای تلگرامی به صورت کاملا آفلاین هست. این پروژه یک bot api server شبیهسازی…
من پروژهای رو شروع کردم که بدون اینترنت بتونیم ربات توسعه بدیم
ولی خب ظاهرا قراره بی برق هم بشیم
پروژه بعدی توسعه ربات تلگرام روی کاغذ
ولی خب ظاهرا قراره بی برق هم بشیم
پروژه بعدی توسعه ربات تلگرام روی کاغذ
💔3🗿3