|
2.5.1
July 2004
RoYa
(Robot Yahoo) ، کار
کسانی که
میخواهند
در Yahoo Messenger
روبات
طراحی
کنند را
آسان
میکند ، از
RoYa
میتوانید
برای
کنترل از
راه دور ،
ساختن
روباتهای
هوشمند ،
ساختن
سرویس های
عمومی و
تفریحی ،
ساختن
سرویسهای
ویژه (برای
SMS و ISP
ها) و غیره
استفاده
کرد . کار با
RoYa بسیار
آسان است و
تنها با
نوشتن Script و
یا Plugin
قادر
خواهید
بود
امکانات
مختلفی به
روبات
اضافه
کنید. و
قدرت RoYa
در "قابل
برنامه
ریزی"
بودن آن
است و به
برنامه
نویس این
امکان را
میدهد که
بدون توجه
به جزئیات
اتصال به Yahoo
ایده های
خود را
پیاده
سازی کنند.
RoYa به
صورت Shareware
میباشد
یعنی تا
وقتی Register
نشده باشد
، به صورت
آزمایشی (Trial)
عمل میکند
و نمی توان
از آن به
صورت
دائمی و
حرفه ای
استفاده
کرد و در آن
محدودیتهای
در نظر
گرفته شده
و در اول
برنامه
پنجره
بمنظور
اینکه
نشان دهد
این
برنامه Register
نشده
باز میشود.
Download
Now !
توضیح
امکانات
برنامه
-
امکان
پاسخ
گویی به
پیامهای
شخصی PM
.
-
امکال
اتصال و
پاسخگویی
در
محیطهای
گفتگو (ChatRoom)
.
-
قابل
برنامه
ریزی به
وسیله VBScript
, JavaScript , DelphiScript .
-
قابل
برنامه
ریزی به
وسیله Plug-in
با
زبانهای
برنامه
نویسی
رایج . (
Delphi , VB , VC++ )
-
کنترل
برنامه
از راه
دور به
وسیله
دستورات
مدیریتی.
-
امکان
فرستادن
بیش از یک
پیغام
به هر
کاربر .
-
امکان
استفاده
از ID
های Profile
برای
استفاده
از
روباتهای
چند
منظوره .
-
امکان
عوض کردن Status
و
پشتیبانی
از پیش
فرضهای Yahoo.
-
سرعت
بالا در
دریافت و
ارسال
پیغامها .
تنظیمات
و اتصال
بخش
تنظیمات
شامل
پنجره Setting
میشود که
برای
تنظیم
اولیه RoYa
است ، و
قبل از هر
کاری
اطلاعات
آن باید
تکمیل شود
. این
اطلاعات
به شرح زیر
است :
-
تب
Connection
*Host
آدرس Yahoo
Messenger به
طور پیش
فرض scsc.msg.yahoo.com است.
*Port
پورت
ارتباطی
که به طور
پپش فرض 5050
است ولی
متوانید
از
پورتهای 21
و 23 هم
استفاده
کنید.
در مورد Http
Proxy و SOCKS Proxy
هم به
صورت
استاندارد
هست و با
دادن
اطلاعات
سرور و
پورت
میتوانید
متصل
شوید.
-
تب
Login
*Username
اسم ID
است که
قرار است
روبات
شود .
*Password
پسورد ID
روبات
است.
*Owner
اسم یک ID
در Yahoo
هست که
این ID
میتواند
از راه
دور
روبات را
کنترل
کند
میتواند
اسم ID
اصلی خود
شما باشد.
Status هر
کلمه که
در اینجا
نوشته
شود ، در
لحظه اول
در Status
روبات
نمایش
داده
خواهد شد
. و اگر Busy
فعال
باشد
علامت busy
در کنار
اسم
روبات
نمایش
داده
میشود
، البته
همه
مواردی
که در
مورد
سوئیچ /Status
بیان شده
در اینجا
صدق
میکند.
Login under Invisible Mode دقیقا
مشابه
خود Client Yahoo
به صورت
پنهانی Login
میکند و
در لیست
نمایش
داده
نمیشود.
Automatically start RoYa on Windows startup با
اینتخاب
این
گزینه
برنامه
در اول Windows
اجرا
خواهد شد .
Minimize on tray icon با
انتخاب
این
گزینه
وقتی Minimize
کنید به
قسمت Tray
میرود.
Automatically connect on RoYa startup
با
انتخاب
این
گزینه با
شروع کار
برنامه
به Yahoo
متصل
میشود .
Priority در این
قسمت
میتوانید
پردازش Plugins
و Scripts
را فعال و
یا غیر
فعال
کنید و
همچنین
میتوانید
مشخص کرد
که کدام
یک اول
اجرا
شوند در
کنار هر
یک از دو
گزینه Check
box وجود
دارد که
با علامت
زدن آن
فعال
میشود ، و
هر کدام
از
آیتمها
که
انتخاب
شده باشد
پردازش
آن اول
انجام
میشود . لازم
به ذکر
است که
این فقط
پردازش
کل Plugin و
Script را
کنترل
میکند و
برای تک
تک Plugin
ها و Script
ها در
قسمتهای
بعدی
توضیح
داده شده !
به صورت
پیش فرض
هر دو
فعال
هستند و
اولویت
با Plugins
است.
مواردی
که با "*"
مشخص شدند
، باید پر
شوند.
بعد
از وارد
کردن
اطلاعات
خواسته
شده در بخش
Setting در
صورت کامل
بودن
مشخصات در
Log
نمایش
داده
میشود . و
از این به
بعد هر بار
برنامه را
اجرا کنید
این
مشخصات
برای نشان
دادن کامل
بودن
اطلاعات
نمایش
داده
میشود . و
در این
لحظه
برنامه
آماده است
و با زدن
دکمه Connect
به Yahoo
متصل شود.
در صورتی
که برنامه
نتواند به Yahoo
متصل شود
هر 2 ثانیه
سعی میکند
این
ارتباط را
برقرار
کند.
بخش
Diagnostic
-
تب Test
، در
این بخش
شما
میتوانید
بدون
اتصال به
اینترنت Script
ها و Plugin
ها را
بررسی
کنید ، و
در صورتی
اشکالی
در Script
وجود
داشته
باشد ،
شماره
خطی که
مشکل
دارد
نمایش
داده
میشود.
-
تب Editor
برای
ساختن و
ویرایش Script
ها می
باشد ، که
استاندارهای
در آن
رعایت
شده ، از
جمله
میتوان
به وجود
Find (Ctrl + F) ، Replace
(Ctrl + T) ، Bookmark
اشاره
کرد.
عملکرد
برنامه (Log)
RoYa
با اولین
اجرای
خود پوشه
در محل
نصب خود
ایجاد
میکند به
نام Logs
که در این
پوشه همه
اطلاعاتی
که وارد و
یا خارج
میشود با
ذکر زمان
دریافت
به طور
روزانه
در
فایلهای
جداگانه
ذخیره
میکند ،
نام این
فایلهای
به گونه
میباشد
که در آن
تاریخ
ساخت Log
ذکر شده
بدین
صورت : 2003-11-20#RoYa.log و
هنگامی
که
برنامه
در حال
اجرا
باشد و
تاریخ
سیستم
تغییر
کند
برنامه
فایل
جدید با
تاریخ
جدید
میسازد و
اطلاعات
را در آن
ذخیره
میکند .
دستورات
مدیریتی
RoYa
بگونه ای
طراحی
شده که
میتوانید
از راه
دور آن را
کنترل
کنید.
برای این
منظور
دستوراتی
وجود
دارد که
فقط Owner
مجاز به
وارد
کردن
آنها
میباشد .
که در زیر
به بیان
این
دستورات
میپردازیم
:
تمامی
فرامین
با یک "/"
شروع
میشود .
-
/Help
نمایش
فرامین
که در این
قسمت
وجود
دارد.
-
/Reset
در
مورادی
که
احتیاج
به بستن
و اجرای
مجدد
برنامه
است .
-
/Send
برای
فرستادن
پیغام از
طرف Robot
به یک User
، فقط
کافیست
در پارامتر
اول Username
و در
پارامتر
های بعدی
پیغامتان
را قرار
دهید .
-
/Status
برای
تغییر
محتوای Status
بکار
میرود.
بعد از
نوشتن
دستور هر
جمله
نوشته
شود در Status
نمایش
داده
میشود.
برای Busy
کردن
جمله ، از
عبارت [b]
و برای Idle
از عبارت [i]
، در جمله
استفاده
کنید.
همچنین
میتوانید
از
حالتهای
پیش فرض Yahoo
Messenger
استفاده
کنید و با
دادن
کلمات
زیر در
جلوی
دستور
حالت
مورد نظر
نمایش
داده
میشود.
مثلا با
قرار
دادن #i#
حالت Idle
نمایش
داده
میشود.
توجه
داشته
باشید که
این
قوانین
عینا در VarsRoYa.Status
هم قابل
اجرا است.
#a#
I'm Available
#r#
Be Right Back
#b#
Busy
#h# Not
at Home
#d# Not
at my Desk
#o#
Not in the Office
#p#
On the Phone
#v#
On Vacation
#l# Out
to Lunch
#s# Stepped
Out
#n#
Invisible
#i#
Idle
-
Init
برایInitialization
کردن Script
-
Final
برای Finalization
کردن Script
-
Pri
اول
Script ها
پردازش
میشوند
-
ON
فعال
شدن Script
-
OFF
غیر
فعال شدن Script
-
Init
برایInitialization
کردن Plugin
-
Final
برای Finalization
کردن Plugin
-
Pri
اول
Plugin ها
پردازش
میشوند
-
ON
فعال
شدن Plugin
-
OFF
غیر
فعال شدن Plugin
-
/Suspend
این
دستور
همانطوری
که از
اسمش
پیداست
باعث
معلق شدن
کار
برنامه
میشود و
به طور
موقت هیچ
پردازشی
انجام
نمیدهد . و
هر
پیغامی
را Reject
میکند . و
برای
برگشت به
حالت
عادی
باید از
دستور Resume
استفاده
کنید.
-
/Monitor
هر
پیغامی
که توسط RoYa
رد و بدل
میشود یک
نمونه آن
برای Owner
ارسال
میشود و
توصیه
میکنم
بجز
موارد
خاص از آن
استفاده
نکنید. با
پارامترهای
ON و OFF
میتوانید
فعال و
غیر فعال
کنید.
-
/Uptime
این
دستور
مدت زمان
بالا
بودن RoYa
را نمایش
میدهد.
-
/Sysinfo
این
دستور
مشخصات
کامپیوتری
که RoYa
روی آن
نصب است
را نمایش
میدهد.
-
/Join
برای
اتصال به
یک ChatRoom با
دادن نام Chat
Room به
عنوان
پارامتر
میتوانید
متصل
شوید. در
ضمن با
اتصال به Chat
Room لیست Userها
در ListUser
قرار
میگیرد.
-
/Left
ترک کردن
Chat Room
-
/Speech
ارسال یک
پیام به Chat
Room
-
/Timer
برای
تنظیم Timer
با
پارامترهای
ON و OFF
میتوانید
فعال یا
غیر فعال
کنید و
همچنین
با دادن
عدد
میتوانید
مدت زمان Timer
را مشخص
کنید.
-
/Sendtime
برای
تنظیم
زمان
ارسال
پیغامها
، این
بدین
خاطر است
که یاهو
محدودیت 4
پیام در
یک ثانیه
دارد (به
طور پیش
فرض 300 میلی
ثانیه و
سعی کنید
از این
دستور
کمتر
استفاده
کنید)
-
/Pingtime
برای
تنظیم
زمان Ping
به سرور
یاهو ،
لازم به
ذکر است
که تمام Client
ها که به YM!
متصل
میشوند
باید در
زمان
مشخصی به
سرور یک ping
ی را
ارسال
کنند در
غیر این
صورت Yahoo
آنها را
قطع
خواهد
کرد. (به
طور پیش
فرض هر 6
دقیقه
هست و سعی
کنید از
این
دستور
کمتر
استفاده
کنید)
-
/Cat
برای
دریافت
لیست Chat
Room های یک
بخش بکار
میرود . با
دادن
شماره هر
بخش به
عنوان
پارامتر
و سعی
میکند از
یاهو
لیست را
دریافت
کند و بعد
از
دریافت
لیست Chat
Room های
فعال در ListChat
قرار
میگیرد و
در
پارامتر
بعد
میتوانید
مشخص
کنید که
فقط Chat Room
های را
دریافت
کند که
توسط User
مشخص شده
را
انتخاب
کند و یا
فقط پیش
فرض های Yahoo
و یا هر دو .
به صورت
زیر عمل
میشود :
User
فقط Chat Room
های که
توسط User
ها درست
شدند
Yahoo فقط
پیش فرض
های خود Yahoo
ALL همه
موراد را
دریافت
میکند
در صورت
قرار
ندادن در
پارامتر
به صورت
پیش فرض
User در نظر
گرفته
میشود.
مثلا :
برای
اتصال به Asia
و لیست
شدن Chat Room
های که User
ها
ساختند
باید
بدین
صورت عمل
کنید ، /Cat
1600043929 user
علاوه
بر موارد
فوق این Switch
قادر است
که شماره
یک Category
را بدست
آورد فقط
کافیست
در
پارامتر
به جای
شماره از
اسم Category
و یا
قسمتی از
اسم آن
استفاده
شود.
مثلا : /Cat
Asia
-
/Contact
برای
ارتباط
کاربران
با Owner
از این Switch
استفاده
میشود .
این Switch
برای همه
قابل
دسترس می
باشد و
میتوانند
پیغامهای
خود را
برای Owner
ارسال
کنند فقط Owner
میتواند
با ON
یا OFF
کردن این
امکان را
فعال و یا
غیر فعال
کنند .
-
/RoYa
نمایش About
برنامه ! (در
سرویس Gold
این
امکان
برداشته
میشود)
برنامه
نویسی با Script
تمام Script
ها در پوشه
Scripts در
محلی که
برنامه
نصب شده
است قرار
میگیرد و
باید
پسوند
فایل آن Inc
باشد .
برای
برنامه
نویسی
باید
ساختار
مشخصی در Script
رعایت شود
.
-
خط
اول Script
نوع زبان
برنامه
نویسی
قرار
دارد .مثلا
DelphiScript یا VBScript
یا JavaScript
-
3
تابع SInit
, SFina , ProcMessage
در Script
باید
وجود
داشته
باشد .
در
همین پوشه
(Scripts)
فایلی به
اسم Sample.Inc
وجود دارد
که یک
نمونه
عملی که با
DelphiScript
نوشته شده
،
میتوانید
با مشاهد
آن از
چندوچون
کار مطلع
شوید.
-
تابع
Sinit در
هنگام Initialization
شدن Script
صدا زده
میشود و
یک بار در
هنگام
بالا
آمدن
برنامه و
یا وقتی
که دستور Init
صادر
شود ،
صدا زده
میشود .
در
خروجی
تابع (Result)
با دادن
عدد
میتوانید
اولویت
های Script
را مشخص
کنید. و هر
چه عدد
کوچیکتر
باشد
اولویت
آن بیشتر
است.
در این
تابع
معمولا
میتوانید
Database ی
که در Script
مورد
استفاده
قرار
میگیرد ،
را بار
کنید .
-
تابع
SFina
برای Finalization
کردن Script
بکار
میرود ، و
یک بار در
هنگام
بستن
برنامه و
یا وقتی
که دستور Final
صادر
میشود ،
از طرف
برنامه
صدا زده
میشود .
مثلا
میتوانید
برای
بستن Database
که قبلا
باز
کردید
استفاده
کنید .
-
تابع
ProcMessage
تمام
عملیاتهای
که در
مورد ،
یک بار
این تابع
از طرف
برنامه
صدا زده
میشود و
با
اطلاعاتی
که در
کلاس VarsRoYa قرار
دارد .
اطلاعاتی
که در کلاس
VarsRoYa به شرح
زیر است :
-
Mode
متغییری
است که
نشان
میدهد
برنامه
چه نوع
عملیاتی
انجام
میدهد و Script
با توجه
به هر یک
از
وضعیتهای
زیر
تصمیم
گیری
میکند :
-
IS_ERROR
در صورت
بروز
خطا در
روند
اتصال
به Chat
و
همچنین
دریافت Category
-
IS_START
وقتی
برنامه
به طور
کامل به Yahoo
متصل
میشود.
-
IS_PM
وقتی یک
پیام
شخصی
فرستاده
میشود.
-
IS_CHAT
وقتی
از طرف Chat
Room پیامی
ارسال
میشود.
-
IS_ADD
وقتی که
ID روبات
را ADD
میکند.
-
IS_JOINROBOT
وقتی که
روبات
وارد یک Chat
Room میشود
-
IS_JOIN
وقتی یک
نفر
وارد Chat
Room میشود
-
IS_LEFT
وقتی یک
نفر Chat
Room را ترک
میکند
-
IS_TIMER
وقتی Timer
فعال
باشد در
مدت
زمانی
که قبلا
مشخص شد
، این
حالت را
فراخوانی
میکند.
مثلا هر 30
ثانیه
یک بار
این
وضعیت
به Script
ارسال
میشود.
-
IS_CATEGORY
وقتی
لیست Chat
Room ها
آماده
باشد.
-
ListParam
برنامه
پیغامهای
کاربر را
با توجه
به Space
که بین
کلمات
وجود
دارد
تفکیک
میکند و
در ListParam
قرار
میدهد و
این
قابلیت
وجود
دارد که
مطالب که
بین
گیومه
قرار
میگیرد
به عنوان
یک عبارت
قرار دهد .
تعداد
پارامترها
در اینجا
ListParam.Count قرار
دارد.
مثلا اگر
عبارت /Learn
hi "Hi , How are you ?"
را کاربر
وارد کند
برنامه
در ListParam
بدین
صورت
قرار
میدهد. (در
ListParam.Count مقدار
3 هست )
ListParam.String[0]=
/Learn
ListParam.String[1]=Hi
ListParam.String[2]= Hi
, How are you ?
-
PathPRG
مسیر
اجرای
برنامه
-
Owner
نام Owner
-
IDRobot
مشخص
میشود که
کاربر از
کدام ID
روبات
پیام را
ارسال
کرده است
، در رویا
این
امکان
وجود
دارد که
از ID
های Profile
برای
روباتهای
چند
منظوره
استفاده
کنید.
-
UserPM
نام
کاربری
که پیغام
را ارسال
کرده
-
StrMsgHTML متن
پیغام
کاربر به
صورت HTML
-
StrMsgNOHTML متن
پیغام
کاربر به
صورت Text
-
Status
در
صورت
وارد
کردن
رشته ای
در این
متغییر Status
عوض
میشود .
-
Ban
با True
شدن ،
پیغام
برای
کاربر
ارسال
نمیشود .
-
Category
برای
دریافت
لیست Chat
Room های Yahoo
با دادن
شماره هر
قسمت.
-
SendStr
متنی که
قرار است
بعنوان
جواب
برای
کاربر
ارسال
شود در
این
متغییر
قرار
میگیرد.
در
RoYa سه Object
وجود دارد
به نامهای
ADOConnection1 و
ADOQuery1 , ADOQuery2
که به
وسیله این
سه Object
میتوانید
از طریق ADO
به بانک
اطلاعاتی(Database)
متصل شوید
، مثل (Access ،
SQL Server ,
Oracle) دومین
مورد
متغییرهای
برای
استفاده
برنامه
نویسان در Script
در نظر
گرفته شده
که VarInt01
تا VarInt05
برای
متغییر
های عددی و
از VarStr01
تا VarStr05
برای String
است .
در Sample
که در پوشه
Script
قرار دارد
تمام
موارد به
صورت مثال
توضیح
داده شده
است و در
این مثال
از بانک
اطلاعاتی MS-ACCESS
استفاده
شده که
فایل آن در
پوشه Data
قرار دارد
( فایلی
به نام Sample.mdb).
در این Sample
علاوه بر
جواب دادن
به پیامها
PM و Chat
چند مورد
جالب قرار
گرفته :
-
Link
Dump با
وارد
کردن/Link
لیست
لینکهای
که قبلا
اضافه
کردید
نمایش
داده
میشود . Owner
میتواند
با دادن /Link
add "Name" "Link" لینک
اضافه
کند و با /Link
del <Number>
لینک را
با توجه
به شماره
ای که در
لیست شدن
قرار
میگیرد ،
حذف کند.
تمام
اطلاعات
در Table:ADS
قرار
میگیرد.
-
تبلیغات
، این
امکان
وجود
دارد که
بین
مطالبی
که Script
جواب
میدهد به
صورت
تصادفی
لینکهای
که قبلا
قرار
داده ایم
به عنوان
تبلیغات
، نمایش
داده شود.
اطلاعات
این قسمت
در Table:ADS
قرار
دارد.
-
ثبت
User ها
هر کسی که
به روبات
پیغامی
ارسال
کند Username
آن در Table:User
ثبت
میشود. (فقط
یک بار)
-
تغییر
Status با
استفاده
از Timer
داخلی که
در
برنامه
برای
برنامه
نویس در
نظر
گرفته
شده جوری
برنامه
نویسی
شده که در
مدت زمان
مشخص Status
را تغییر
یابد.
-
برای
اتصال به ChatRoom
کافیست Owner
مثلا /Cat
1600043929 user وارد
کند ، Script
به گونه
طراحی
شده که به
طور
اتوماتیک
با توجه
به لیست
کل ChatRoom
های Asia
داخل هر
یک از ChatRoom
ها میشود
و به
پیامها
جواب
میدهد
برنامه
نویسی با Plug-in
Plug-in
راه دیگری
هست برای
توسعه
برنامه که
میتوانید
به وسیله
یک DLL
کارهای را
که با Script
انجام
میدادید
را انجام
دهید ،
تمام Plugin
ها در پوشه
Plugins در
محلی که
برنامه
نصب شده
قرار
دارند و
باید
پسوند
فایل آنها DLL
باشد . در
صورتی که
با Delphi
برنامه
مینویسید
باید
یونیت PluginsTyp
را در DLL
اضافه
کنید.
در
همین پوشه
(Plugins) فایلی
به اسم Math.DLL
وجود دارد
(سورس این
برنامه با Delphi
نوشته شده
و در فایل Math.Dpr
قرار دارد
) که نمونه
عملی از
یک ماشین
حساب
قدرتمند
که
استفاده
از Plugin
را نشان
میدهد ،
با دستور /mathو
دادن
فرمول
ریاضی به
صورت
پارامتر
میتوانید
جواب را
مشاهد
کنید .
مثلا /math
2+3*(sin(67)/23*89)^(125/5)
تمام
مواردی که
در مورد Script
ذکر شده
دقیقا در
مورد Plugin
هم وجود
دارد .
فقط باید
در نظر
داشته
باشید که
در Plugin
از کلاس
استفاده
نشده است و
فقط یک Record
است. و
متغییر ها
ورودی و
خروجی به
صورت
پارامتر
جابجا
میشوند.
در ضمن در Plug-in
نمی
توانید از ADOConnection1
و ADOQuery1
, ADOQuery2 استفاده
کنید.
این
متن به
مرور
تکمیل تر
میشود .
|