یادداشتها
ترکیب n8n و ngrok
برای استفاده از node تلگرام که داخل n8n داریم لازمه که یک دامنه معتبر به n8n متصل بشه. طبق تجربه خودم، بهترین روش استفاده از ngrok هست. اگر در نصب و استفاده از ngrok سوالی داشتید بهم پیام بدید تا راهنماییتون کنم. به هر حال اگر برای وبهوکهای تلگرام به سمت نصب ngrok رفتید، در فایل داکر کامپوزی که در یادداشت مربوط به نصب n8n گذاشتم باید این سه تا متغیر محیطی رو تغییر بدید:
N8N_HOST=<your-ngrok-domain>
N8N_PROTOCOL=https
WEBHOOK_URL=https://<your-ngrok-domain>
که your-ngrok-domain آدرس دامنه شما در سرویس ngrok هست.
پینوشت: هر بار که در فایل داکر کامپوز تغییر میدید، یه بار کانتینر رو ریستارت کنید:
docker-compose down
docker-compose up -d
نصب n8n روی کامپیوتر شخصی
۱) قبل از هر چیز روی کامپیوتر خودتون باید داکر رو نصب کنید. فرآیندش خیلی پیچیده نیست. از سایت رسمی داکر میتونید متناسب با سیستم عامل خودتون، داکر دسکتاپ رو دانلود و نصب کنید.
۲) بعد از دانلود و نصب داکر دسکتاپ، اونو اجرا کنید.
۳) یه گوشه از سیستمتون، داخل یه پوشه، یه فایل با اسم docker-compose.yml بسازید و کدهای زیر رو داخلش قرار بدید:
services:
n8n:
image: docker.n8n.io/n8nio/n8n
container_name: n8n
restart: always
ports:
- ۵۶۷۸:۵۶۷۸
environment:
- DB_TYPE=sqlite
- DB_SQLITE_VACUUM_ON_STARTUP=true
- N8N_HOST=localhost
- N8N_PORT=5678
- N8N_PROTOCOL=http
- N8N_RUNNERS_ENABLED=true
- WEBHOOK_URL=http://localhost:5678
- GENERIC_TIMEZONE=Asia/Tehran
volumes:
- n8n_data:/home/node/.n8n
volumes:
n8n_data:
۴) داخل همین پوشه ترمینال رو باز کنید و دستور زیر رو اجرا کنید:
docker-compose up -d
۵) به همین سادگی n8n شما نصب شده و میتونید از آدرس http://localhost:5678 بهش دسترسی داشته باشید.
آشنایی با سیستم اتوماسیون n8n
خب بعد از مدتها، توانایی تایپ کردن طولانی پیدا کردم 😇 و اومدم براتون یه آموزش کوتاه بذارم. به عنوان یه برنامهنویس یا حتی تولیدکننده محتوا، احتمال زیاد اسم سیستم اتوماسیون n8n به گوشتون خورده. ابزاری که به شما امکان اتوماسیون فرآیندهای کاری رو میده. از تهیه محتوا برای وبسایت خودتون گرفته تا طراحی یه بات تلگرام برای ارسال مطالب به کانالتون و یا حتی استفاده از مدلهای هوش مصنوعی رو براتون اتوماتیک میکنه و در قالب workflow ها میتونید کلی در زمان خودتون صرفهجویی کنید.

❌ اما متاسفانه n8n در نسخه آنلاین خودش، یه سرویس پولی هست که به شما مهلت استفاده ۱۴ روزه با تعداد محدودی اجرا میده. شاید برای خیلیها این محدودیت کافی باشه یا دوست داشته باشند چندین اکانت بسازند.
✔️ ولی جنبه خوب ماجرا اینه که n8n به صورت self-hosted هم عرضه شده و شما میتونید روی سیستم شخصی خودتون یا سرور نصب و بدون محدودیت استفاده کنید! 😱 در یادداشت بعدی، شیوه نصب و راهاندازیش روی کامپیوتر شخصی رو توضیح میدم.
عرضه گوگل Veo2
بالاخره گوگل مدل قدرتمند Veo 2 رو به صورت رایگان در دسترس عموم مردم قرار داد که برای تولید ویدیوهای بسیار نزدیک به واقعیت، حرفها برای گفتن داره.

از طریق پلتفرم Google AI Studio میتونید به صورت محدود ازش استفاده کنید (روزانه چند ویدیوی ۸ ثانیهای از طریق تبدیل متن به ویدیو یا عکس به ویدیو). اگر وارد Google AI Studio شدید و گزینه Video Gen در سمت چپ نمایش داده نشد، صبور باشید. چون تازه در حال عرضه هست و ممکنه طول بکشه تا برای همه در دسترس قرار بگیره.
یادگیری ایجنتهای هوش مصنوعی
این روزها که تب و تاب هوش مصنوعی حسابی بین جامعه برنامهنویسی و حتی مردم عادی به وضوح حس میشه، اگر علاقمند به یادگیری مهارتهای تخصصیتر در این زمینه هستید، یکی از گزینههای خوب آشنایی با ایجنتهای هوش مصنوعی (AI Agents) و فریمورکهای مرتبطشون هست. یکی از ترندترین ریپازیتوریهای گیتهاب در این زمینه متعلق به مایکروسافته که یه دوره آموزشی کوتاه برای افراد مبتدی طراحی کرده: AI Agents for Beginners

دوره هم به صورت متنی هست هم ویدیویی. متنهای دوره به زبان فارسی هم ترجمه شده که میتونید استفاده کنید. اگر هم این دوره براتون سنگین بود، میتونید با دوره Generative AI for Beginners شروع کنید که پیشنیازی برای این دوره به حساب میاد.
دور زدن API محدود شده
طبیعتاً اگر تا الان سعی کرده باشید با API سایتهایی مثل تلگرام و اینستاگرام و … کار کنید چون فیلتر هستند، روی هاست و سرورهای ایرانی به مشکل میخورید و جواب موفقی از API دریافت نمیکنید 😭 چند وقت پیش برای یه مشتری نیاز بود که یه اتصال بین API تلگرام و سایتش که روی هاست داخلی بود برقرار کنم که متأسفانه با همین مشکل مواجه شدم. در نتیجه جستجویی کردم و به این کد رسیدم که در واقع آدرس API رو دور میزنه.
async function handleRequest(request) {
const url = new URL(request.url);
// Change the hostname to 'api.telegram.org'
url.hostname = 'api.telegram.org';
// Create a new request with the modified URL
const newRequest = new Request(url.toString(), request);
// Fetch and return the response from the new URL
try {
const response = await fetch(newRequest);
return response;
} catch (error) {
// Handle errors, if any
return new Response('Internal Server Error', {
status: 500,
headers: {
'content-type': 'text/plain',
},
});
}
}
addEventListener('fetch', (event) => {
event.respondWith(handleRequest(event.request));
});
شیوه استفاده: یه ورکر در کلودفلر بسازید و کدهای بالا رو داخلش بذارید. سپس دیپلوی بفرمایید. از اینجا به بعد میتونید به جای آدرس API فیلتر شده از آدرس ورکرتون استفاده کنید. من اینجا برای API تلگرام استفاده کردم اما برای باقی موارد فیلتر شده یا تحریم شده قابل استفاده است. کافیه متغیر url.hostname
رو جایگزین کنید.
تا الان 35 یادداشت منتشر شده است. برای مطلع شدن از انتشار یادداشتهای جدید، میتوانید به کانال تلگرام من مراجعه کنید.