استفاده موثر از IRC

تهران‌لاگ از قدیم یک کانال آی‌آر‌سی متروکه داره که هر از گاهی راه‌گم‌کرده‌ای از راه می‌رسه و سلامی می‌کنه و سوالی می‌پرسه و سرخورده از جوابی که نگرفته کانال رو ترک می‌کنه. غافل از اینکه آی‌آر‌سی چت‌روم نیست. در ادامه نحوه استفاده موثر از آی‌آر‌سی رو شرح می‌دم.

طولانیه؟ خلاصه مطلب در پاراگراف آخر رو بخون.

آی‌آر‌سی بین برنامه‌نویسان پروژه‌های اوپن سورس همچنان محبوبیت بالایی داره. یک دلیلش نامتمرکز و رایگان و اوپن‌سورس بودنشه. هر کسی می‌تونه به سادگی یک سرور آی‌آر‌سی راه بندازه و تعداد زیادی کانال روی اون بسازه. کاربر هم می‌تونه با یک کلاینت آی‌آر‌سی به همه این سرورها وصل بشه و به سادگی به کانال‌های مختلف سر بزنه. متنها نکته مهم اینجاست که آی‌آر‌سی حافظه نداره. یعنی وقتی کسی به یک کانال ملحق می‌شه (معادل چت‌روم) فقط پیام‌هایی رو می‌بینه که پس از ورودش به کانال ارسال می‌شوند. بنابراین در صورت قطع اتصال با سرور و یا خروج از کانال پیامی به دست بازدید‌کننده نمی‌رسه.

ما اینجا از شرح اینکه چرا آی‌آر‌سی اینگونه طراحی شده صرف نظر می‌کنیم و مستقیم می‌ریم سروقت اینکه باید چطور از این ابزار استفاده کنیم.

اولین کاری که باید انجام داد تغییر نگاه به این ابزاره. آی‌آر‌سی یک وسیله ارتباطی مستقیم نیست. بلکه یک چیزی بین چت و ایمیله. یعنی وقتی در یک کانال سوالی می‌پرسیم نباید در لحظه انتظار پاسخ داشته باشیم. بلکه باید صبور باشیم تا یک برنامه‌نویس یا یک کاربر علاقه‌مند به سوال ما پاسخ بده. لازمه‌ی اینکار هم در وهله اول فرموله کردن یک سوال خوب و کامله. برنامه‌نویس حرفه‌ای معمولا وقتش رو برای پاسخ به سوالات بی سر و ته تلف نمی‌کنه ولی در عین حال با دیدن یک پرسش خوب به وجد میاد و پاسخ می‌ده.

باز از بحث منحرف شدم. خوب حالا که باید صبر پیشه کرد با قطع اتصال با سرور آی‌آر‌سی چه کنیم؟ راه حل ساده اینه که ارتباط باید وصل بمونه. وقتی در یک کانال لیست کاربران رو می‌بینید که همیشه حاضر (اما ساکت!) هستند شک نکنید که از یک سرور به کانال وصل شده‌اند. بله، راه حل استفاده از یک سروره که همواره و بدون قطعی به اینترنت وصل باشه. در غیر اینصورت بهتره دور استفاده از آی‌آر‌سی رو خط کشید، مگر برای طرح پرسش‌های ساده در کانال‌های شلوغ که بلافاصله کسی پیدا می‌شه که جواب ما رو بده.

اگر به یک سرور دسترسی شل (ssh) دارید ساده‌ترین کار برای اتصال دائمی به یک سرور آی‌آر‌سی ترکیب یک برنامه‌ی مالتی‌پلکسر ترمینال و یک کلاینت آی‌آر‌سی است. نقش مالتی‌پلکسر اینه که وقتی اتصال اس‌اس‌اچ به سرور قطع می‌شه و کاربر لاگ‌اوت می‌شه اون برنامه در پشت صحنه همواره در حال اجراست. چون معمولا پراسسش زیر پراسس اصلی (پراسس شماره ۱) قرار می‌گیره و بنابراین با قطع ارتباط اس‌اس‌اچ یا لاگ‌اوت شدن یوزر نمی‌میره.

شاید معروفترین مالتی‌پلکسر tmux باشه که روی هر لینوکسی پیدا می‌شه. من از byobu استفاده می‌کنم که اون هم به نوبه خودش از tmux استفاده می‌کنه. روش کار اینه که وصل می‌شه به سرورت، مالتی‌پلکسرت رو روشن می‌کنی و بعد توی مالتی‌پلکسرت کلاینت آی‌آر‌سی رو اجرا می‌کنه. من معمولا از کلاینت irssi استفاده می‌کنم. البته الان مدتی است که یک کلاینت وب به نام thelounge رو روی سرورم نصب کردم که مزایای مختلفی داره. اول از همه اینکه بدون لاگین به سرور می‌تونم فقط با براوزر به آی‌آر‌سی دسترسی داشته باشم. دوم اینکه یونیکد رو کاملا ساپورت می‌کنه و فارسی رو هم به درستی نمایش می‌ده.

خلاصه مطلب این شد که برای استفاده موثر از آی‌آر‌سی باید به یک سرور دسترسی داشته باشیم یا دائم به اینترنت وصل باشیم. سوال بپرسیم و بعد از زمانی مثلا چند ساعت برگردیم و ببینیم که آیا کسی جوابی داده یا نه. چون سرورهای آی‌آر‌سی مسج‌های قبلی رو پاک می‌کنند باید در این مدت حتما به سرور وصل بود تا پیام‌های جدید رو دریافت کرد.