# Native Code > برنامه نویسی در 6 VB > برنامه نویسی مرتبط با شبکه و وب در VB6 > گفتگو: ربات ياهو

## 3dboy1

با سلام خدمت همه دوستان عزيز...

اين تاپيك را ايجاد كردم تا با كمك هم يه ربات ياهو خيلي جالب درست كنيم؛ 
من يه نمونه exe اين برنامه رو براتون ميزارم .
اگر ديدم كه دوستان از اين موضوع استقبال كردند بهتون قول ميدم يه ربات ياهو جالب و خيلي كار آمد درست كنيم

تصوير برنامه : 
 
لينك برنامه : 
_برای دانلود برنامه به ادامه تاپیک مراجعه کنید_

منتظر نظرات شما هستم
موفق باشيد

----------


## 3dboy1

سلام خدمت همه دوستان عزيز
خيلي دوست دارم كه اين موضوع با همكاري همه به يه نتيجه خوب و قابل قبول برسه
وگرنه ميشه با تقليد از روي ربات هاي ديگه يك ربات كار آمد درست كرد

تا اين لحظه فقط يه ربات ساده كه يك بانك اكسس هم به اون متصل كردم
تصوير برنامه : 
 
اين هم خود برنامه:
*برای دانلود ربات به ادامه تاپیک مراجعه کنید*


منتظر پيشنهاد شما عزيزان هستم

----------


## 3dboy1

با سلام
توضيحاتي در مورد روبات ياهو رويا : 

) ، کار کسانی که میخواهند در Yahoo Messenger روبات طراحی کنند را آسان میکند ، از RoYa میتوانید برای کنترل از راه دور ، ساختن روباتهای هوشمند ، ساختن سرویس های عمومی و تفریحی ، ساختن سرویسهای ویژه (برای SMS و  ISP ها) و غیره استفاده کرد . کار با RoYa بسیار آسان است و تنها با نوشتن Script و یا  Plugin قادر خواهید بود امکانات مختلفی به روبات اضافه کنید.  و قدرت RoYa در "قابل برنامه ریزی" بودن آن است و به برنامه نویس این امکان را میدهد که بدون توجه به جزئیات اتصال به Yahoo ایده های خود را پیاده سازی کنند.


*توضیح امکانات برنامه*
·         امکان پاسخ گویی به پیامهای شخصی PM . 
·         امکال اتصال و پاسخگویی در محیطهای گفتگو (ChatRoom) . 
·         *قابل برنامه ریزی*  به وسیله VBScript , JavaScript , DelphiScript . 
·         *قابل برنامه ریزی* به وسیله Plug-in  با زبانهای برنامه نویسی رایج . ( Delphi , VB , VC++‎ ) 
·         کنترل برنامه از راه دور به وسیله دستورات مدیریتی. 
·         امکان فرستادن بیش از یک پیغام به هر کاربر . 
·         امکان استفاده از ID های Profile برای استفاده از روباتهای چند منظوره . 
·         امکان عوض کردن Status و پشتیبانی از پیش فرضهای Yahoo. 
·         سرعت بالا در دریافت و ارسال پیغامها .

----------


## 3dboy1

توضيحاتي در مورد روبات بالا تا امروز : 

فعلا اين ربات ميتونه در ياهو آن بشه و بوسيله بانكي كه در اختيار اون قرار داديم به 
آي دي هاي ديگه پيغام بده و جواب اون ها رو بده 

اما اكثر ربات هاي ياهو اين امكانات رو دارند : 

امكان پاسخگوي هوشمند به كاربران : 
توسط بانك اطلاعاتي كه دارد درخواست مورد نظر را سرچ مي كند و اگر اين سوال در بانك موجود بود جواب آن رامي دهد
امكان يادگيري از ديگران : 
وقتي كسي سوالي را از ربات مي كند و جواب آن داخل بانك نبود از فرد مي خواهد كه جواب را به ربات ياد داده و اطلاعات را در بانك ذخيره مي كند
امكانات ياهو :
مثل add , ignore , status voice , .............
كنترل سيستم و پيغام ها و ..... توسط سازنده : 
با معرفي آي دي ادمين به ربات مي توان اين امكان را داد كه ادمين از هر جايي به ربات درخواست هايي داشته باشد مانند گرفتن ادليست ، غير فعال كردن ، ريست كردن ، ربات يا سيستم ، كنترل سيستم ( ميشه به عنوان يه تروجان ازش استفاده كرد يا براي كنترل سيستم سرور يا پيام كوتاه و ....)

""""""""""""""""""""""""""""""""""""""""""""""""""  """"""""""""""""""""""""""""""""""""""""""""""""""  """""

----------


## 3dboy1

بعضي از دوستان درخواست سورس برنامه رو دارند 
من سورس برنامه رو براتون ميزارم؛ اميدوارم كه با نظراتتون در ساخت يك ربات جالب همكاري كنيد...
اين بار قصد دارم اگر درخواست در بانك نبود طرف مقابل بتونه جواب درخواست خودش رو به بانك اضافه كنه

منتظر نظرات شما دوستان هستم

سورس برنامه : 
*برای دانلود ربات به ادامه تاپیک مراجعه کنید*

----------


## Yousha

جالبه، ولی بیشتر بدرد پشتیبانی خودکار می خوره...

----------


## HAMRAHSOFT.IR

اگه فارسي بود عالي مي شود

----------


## 3dboy1

سلام؛ ممنون از دل شكسته
من براي فارسي اين از يوني كد استفاده كردم، اما وقت نكردم تست كنم! شما دوستان زحمت تستش رو بگشيد و ايرادها و نظراتتون رو برام ارسال كنيد.

انتظار داشتم دوستان بيشتر از اين همكاري كنند

لينك سورس : 
*برای دانلود ربات به ادامه تاپیک مراجعه کنید*

موفق باشيد

----------


## Pr0grammer

سلام....
با اجازه دوستام (3dboy1 و دل شکسته و سایر عزیزان...)

من سعی کردم تا جایی که امکان داره کمک کنم! (روی ظاهرش کار کردم! و یه کوچولو روی بعضی از گزینه هاش دست بردم!)
خوب یا بدشو لطفاً بگید، اگه خوب بود بازم هستم در خدمتتون 

لينك برنامه :
*برای دانلود ربات به ادامه تاپیک مراجعه کنید* :قلب:

----------


## Pr0grammer

> سلام
> ممنون از دل شكسته
> من براي فارسي اين از يوني كد استفاده كردم
> اما وقت نكردم تست كنم
> شما دوستان زحمت تستش رو بگشيد و ايرادها و نظراتتون رو برام ارسال كنيد
> موفق باشيد


جواب نداد!  :گریه:

----------


## Pr0grammer

> اگر قراره واقاً این سورس رو کامل کنید و به رایگان Public کنید، خیلی جدی و منظم شروع کنید.
> من اینو که نگاه کردم خیلی به هم ریخته و بی نظم و غیر استاندار بود.
> پیشنهاد میکنم تصمیم بگیرید که چیکار میخواید بکنید.


منم موافقم  :خجالت:  بهتره یه تصمیم کلی بگیریم که چی می خوایم بنویسم! (آخرش چی میشه) ... این برنامه قبلاً بوده! بهتره یه ایده هایی هم بهش اضافه کنیم! 

راستی :
* بهتر نیست فارسی باشه؟! یعنی هیچ چیز انگلیسی نباشه! من یه فکرهایی دارم واسش اما وقت کم دارم! ان شاال... بتونه کمک کنه!

* اگه یکی واسمون off بزاره! میشه دید؟!

* اگه ایمیل داشته باشیم، نشون میده؟!

و ...

----------


## 3dboy1

با سلام
اول از همه بچه ها ممنون
من يك سورس كامل در اين زمينه داشتم؛ حالا كه ميبينم دوستان استقبال كردند، سعي ميكنم امروز فردا يه ربات كامل با محيط كاملا فارسي ذر اختيار دوستان قرار بدم.
موفق باشيد

اگر اطلاع داشته باشيد ياهو اطلاعاتي مثل اسم و سن و .... رو اولين بار كه آي دي رو ميسازيم از ما مي گيره
اگر بشود ياهو در اولين تماس با طرف بتونه از اين لطلاعات استفاده كنه و به اون خوش آمد گويي كنه خيلي جالب ميشه.

از دوستان هر كس تو اين زمينه نظري يا سورسي داره كمك كنه
باز هم ممنون و موفق باشيد

----------


## 3dboy1

سلام خدمت همه دوستان عزيز
امروز برنامه ربات ياهو تغريبا كاملي با امكانات جالب رو براتون ميزارم؛ البته اجرايي اون رو...
چون كار يكي از دوستان هست؛ اگر اجازه دادند سورس برنامه رو براتون ميزارم.

امكانات اين ربات : 
changeStatus
اطلاع از رسيدن ميل
اطلاع از اينكه كسي در حال تايپ پيغام براي ربات ميباشد و جواب
اجازه اد و اد كردن طرف 
برطرف شدن مشكل فارسي
فرستادن پيغام شما به شخص ديگر با استفاده از ربات /pm
اعلام تاريخ و ساعت /date /time
يادگيري از ديگران /learn
پاسخگويي راندم به سوالات شما
ايگنور كردن
به خاطر سپردن اسم شما
و ...............

لينك برنامه :
*برای دانلود ربات به ادامه تاپیک مراجعه کنید*

موفق باشيد

----------


## 3dboy1

سلام خدمت دوستان عزيز
*اول از همه ميلاد آقا امام رضا رو به همه شما دوستان تبريك عرض مي كنم*

و بعنوان شيريني سورس برنامه رو كه در بالا گفتم در اختيارتون قرار ميدم با توضيحات كاملي در باره اينكه ربات هاي پاسخگو چگونه كار مي كنند.

اول از همه سورس برنامه : 
*برای دانلود ربات به ادامه تاپیک مراجعه کنید*

منتظر نظرات و اشكالات هستم
راستي تا يادم نرفته :
اين برنامه رو آقا سياوش نوشته و در اختيار دوستان قرار دادند : 
لينك : http://www.syavash.com

----------


## 3dboy1

اين هم قولي كه دادم : 

این روزها *روبات های پاسخگوی* زیادی در اطراف ما وجود دارند. مانند منشی تلفنی ها یا حتی عابر بانك ها!
بله درسته! حتی عابر بانك هم نوعی روبات پاسخ گوست! شما درخواستی از عابربانك می كنید و عابربانك با توجه به درخواست شما به شما پاسخی می دهد.
منشی تلفنی ها هم همینطور هستند. با توجه به كدی كه شما وارد می كنید گوشی شما صدایی تولید می كند و در طرف دیگر *روبات پاسخگو* با توجه به آن صدا پاسخی به شما تحویل می دهد.

ساختن این نوع روبات های پاسخگو خیلی پیچیده نیست، چون دامنه ی ورودی های آنها محدود است. به عنوان مثال یك عابربانك در مجموع 12 دكمه برای وارد كردن عدد و تایید و انصراف دارد و نهایتاً 8 دكمه ی كمكی دیگر كه عملیات هر كدام در هر لحظه كاملاً مشخص است.
جهت مجزا كردن روبات هایی كه تنها فعالیت نرم افزاری انجام می دهند از روبات هایی كه فعالیت فیزیكی نیز دارند، دسته ی اول را *بات* (_به انگلیسی Bot_) نیز می نامند. پس برای منشی تلفنی واژه ی بات مناسب تر می باشد.
حال فرض كنید می خواهیم باتی بسازیم كه قابلیت فهم و پاسخگویی به زبان انسان را داشته باشد! ساخت این نوع بات كه اصطلاحاً به آن Chatterbot نیز گفته می شود كمی پیچیده تر از موارد قبل می باشد.
هدف این بات ها ارائه ی پاسخی است كه هر چه بیشتر به پاسخ یك انسان شبیه باشد. در حالت ایده آل هدف این است كه شخصی كه با این بات ها گفتگو می كند، نتواند متوجه شود كه در حال چت با یك بات می باشد. كه متأسفانه تا كنون هیچ باتی به این حالت ایده آل نرسیده است.برای روشن نمودن بهتر این مسئله ذكر چند مثال شاید بد نباشد: 
زبان انسان پویا می باشد و روز به روز تغییر می كند پس باتی كه بخواهد با این زبان ارتباط برقرار كند نیز باید پویا باشد.یك كلمه در زبان انسان (كه مانند یك دكمه در عابربانك می ماند) در زمان ها و مكان های مختلف و همچنین برای موضوع های مختلف ممكن است معنای یكسانی نداشته باشد و در نتیجه جواب متفاوتی هم خواهد داشت. به عنوان مثال در صورتی كه كلمه ی *خیر* بدون هیچ مقدمه ای گفته شود، معنی خاصی ندارد. حال آنكه اگر همین كلمه بعد از عبارت *خوبی؟* بیاید به مفهوم خوب نیستم خواهد بود و اگر بعد از عبارت *هستی؟* بیاید به مفهوم نیستم خواهد بود.در زبان انسان ممكن است جای كلمات تغییر كنند ولی مفهوم ثابت بماند. مثلا تو كجایی؟ با كجایی تو؟ یك مفهوم را دارد و فقط كلمه ای كه روی آن تأكید شده است متفاوت است. همچنین چندین عبارت ممكن است یك جواب داشته باشند. به عنوان مثال _خوبی؟_ و _حالت خوبه؟_ و _خوب هستی؟_ همگی یك مفهوم را دارند.در زبان انسان علامت ها می توانند مفهوم جمله و در نتیجه پاسخ جمله را عوض كنند. به عنوان مثال _تو خوبی؟_ و _تو خوبی!_ دو مفهوم كاملاً متفاوت دارند.و موارد بسیار بسیار زیاد دیگر كه پردازش زبان انسان و پاسخگویی به آن را پیچیده و دشوار می كند.

*راه های مختلف برای ساختن بات های پاسخگو*

بات های پاسخگوی مختلف از روش های مختلفی برای پیدا كردن بهترین جواب استفاده می كنند، من در اینجا سعی می كنم چند روش مختلف را ذكر كنم،توجه داشته باشید این روش ها جهت پردازش متن و پاسخگویی به آن می باشد و فرض شده ورودی بات به متن تبدیل شده و خروجی بات نیز متن خواهد بود. 
*ساده ترین روش*

ساده ترین روشی كه حتی امروزه در خیلی از بات ها استفاده می شود مقایسه ی سوال با یك لیست از عبارت ها كه جواب هر كدام از قبل تعیین شده است می باشد.
این روش بسیار ابتدایی می باشد و در صورتی كه سوال عیناً برای بات تعریف نشده باشد پاسخی پیدا نخواهد شد!
به عنوان مثال حتی اگر جوابی برای عبارت khoobi? تعریف شده باشد در صورتی كه از این بات بپرسید khoobi یا khooobi? یا khoubi جوابی نخواهید گرفت.
این روش در بسیاری از بات های یاهو! مسنجر استفاده شده. این بات ها معمولاً سویچی با نام /learn دارند و در صورتی كه جواب عبارتی را ندارند از كاربر تقاضا می كنند كه پاسخ آن عبارت را به او یاد بدهند.
این روش فاصله ی بسیار بسیار زیادی با هدف Chatterbot ها دارد، زیرا یك انسان هیچ گاه نمی گوید لطفا با سویچ /learn جواب این پاسخ را به من یاد بدهید! 
*استفاده از فیلتر ها*

این روش كمی متود قبلی را كامل كرده است به این صورت كه قبل از چك كردن سوال با لیست جواب ها پردازش ساده ای روی سوال انجام می شود. این پردازش می تواند شامل موارد زیر باشد: 
حذف تكرار حروف: Salaaaaaam و Saalaaaaaam به Salam تبدیل خواهند شد.لازم به ذكر است بعضی از حروف مانند o در صورت تكرار بیش از 2 مورد پشت سر هم حذف می شوند. به عنوان مثال khooooobi? به khoobi? تبدیل خواهد شد.جایگزینی برخی حروف تركیبی: مثلا حایگزینی ou با oo.حذف كاراكتر های اضافه: به عنوان مثال تمام كاراكتر های غیر حروف الفبا را حذف می كنیم، در نتیجه khoobi?! :) به khoobi تبدیل خواهد شد.جایگزینی برخی كلمات هم معنا: مثلا واژه ی bali و arehرا با واژه ی baleh جایگزین می كنیم.این موارد به بات كمك می كند تا در صورت دانستن جواب عبارت salam به سوالات Salaaaam!? یا Salaaaaaammmm :) نیز پاسخ دهد.
این روش كمی به پاسخگویی مناسب تر بات كمك خواهد كرد اما همچنان نتیجه ی مورد قبولی نخواهیم داشت. 
*استفاده از كلید واژه ها*

شاید این راهی باشد كه به نظر خیلی از دوستان هم رسیده باشد! استفاده از كلیدواژه ها! در این روش به جای اینكه به دنبال یك عبارت كامل باشیم، به دنبال یك كلمه یا چند كلمه در یك عبارت خواهیم گشت. به عنوان مثال می گوییم در هر جمله ای كلمه ی Salam وجود داشت در جواب به آن شخص سلام كن. این روش باعث می شود با دادن مقدار خیلی كمتری اطلاعات به بات جواب های بیشتری را بپوشانیم.
اما چند مشكل عمده دارد! اولین مشكل این است كه جواب های بی ربط بسیار زیاد خواهند شد. به عنوان مثال اگر كاربر بگوید _Salamat bashi_ بات به او جواب غیر معقول سلام را خواهد داد.
مشكل دیگر این است دو كلید واژه با جواب های متفاوت در یك عبارت یافت شود. و در این حالت بات نمی داند كدام یك مناسب تر خواهد بود.
فرض كنید كاربر عبارت _Salam, khoobi?_ را به بات ما بگوید و ما به این بات هر دو كلید واژه ی Salam و Khoobi را با دو جواب مختلف یاد داده باشیم. بات نمی داند كدام یك برای این عبارت جواب بهتری است و ممكن است در جواب فقط سلام كند.

*استفاده از الگو ها*

این روشی است كه سایفر و بسیاری از بات های پیشرفته مانند آلیس از آن استفاده می كنند. من در ادامه سعی می كنم به معرفی نوع الگویی كه در سایفر استفاده شده بپردازم. در صورتی كه علاقه دارید با سیستم الگوی آلیس (كه در خیلی از بات های تحت وب استفاده می شود) آشنا شوید به اینجا رجوع كنید.
در ابتدا منظور از الگو یا Pattern چیست؟
یك الگو شباهت هایی با روش كلیدواژه دارد. یعنی به صورت خیلی سختگیرانه عبارت را بررسی نمی كند بلكه دنبال یك سری كلمات در جمله می گردد، اما جای این كلید واژه ها در عبارت مهم خواهد بود. همچنین در ساختار سایفر به هر الگو یك اولویت داده می شود كه در ادامه سیستم اولویت بندی را معرفی خواهیم كرد.
برای هر الگو یك Action یا پاسخ تعریف می شود. ابتدا به بررسی الگو ها می پردازیم و بعد به سراغ ساختار پاسخ ها می پردازیم.
در ابتدا به معرفی یك الگوی خیلی ساده می پردازیم: 												
salam*خوب احتمالاً متوجه شدید مفهوم این الگو چیست. تمام عباراتی كه با salam شروع شوند جزو این الگو قرار می گیرند.
به عنوان مثال Salam azizam یا Salam در این الگو قرار می گیرند.اما Azizam salam در این گروه قرار نخواهد گرفت. به عبارت دیگر * به مفهوم هر كاراكتری می باشد. از آنجایی كه * در انتهای جمله قرار گرفته است یعنی هر عبارتی در ادامه ی salam بیاید در این الگو قرار خواهد گرفت.در صورتی كه بخواهیم Azizam salam هم در این الگو قرار بگیرد باید از الگوی زیر استفاده كنیم: 												
*salam*ممكن هست * در بین دو كلمه بیاید، به عنوان مثال: 												
esmam * hastخوب فكر می كنم مشخص باشد. به عنوان مثال esmam Siavash hast در این الگو قرار خواهد گرفت.
در سیستم سایفر برای برخی حالت هایی كه زیاد استفاده می شوند از علامت هایی استفاده شده. به عنوان مثال علامت # به مفهوم فاصله ستاره یا انتهای عبارت می باشد. برای مثال: 												
salam#Salam khoobi و Salam در این الگو قرار می گیرند. امّا Salamati در این الگو قرار نخواهد گرفت.
علامت دیگری كه برای سایفر تعریف كردم علامت $ هست. كه در صورتی كه بعد از هر * بیاید به این مفهوم خواهد بود كه در آن * فاصله وجود نداشته باشد، مثلاً: 												
be*$Bekhoon و Bepoosh و اكثر فعال های امری در این الگو قرار می گیرند اما Besiar ziad در این الگو قرار نمی گیرد چون در بخشی كه بجای * آمده فاصله وجود دارد.
فكر می كنم تا حدودی با الگو ها آشنا شده باشید. حالا می خواهیم با Action یا پاسخ الگو ها آشنا شویم.ساده ترین الگو یك عبارت ساده می باشد، برای مثال برای الگوی salam* پاسخ زیر را می توانیم داشته باشیم: 												
Salam, khoobi?اما همونطور كه می دونیم یك انسان هیچ وقت به یك سوال همیشه یك جواب نمیده. برای اینكه رفتار بات ما كمی نزدیك تر به رفتار انسان باشد از یك ساختار ساده در سایفر استفاده شده: 												
<random>Salam<or>Bah bah, salam!<or>Salam azizam</random>این ساختار یكی از جواب های Salam و Bah bah, salam! و Salam azizam را بصورت تصادفی انتخاب كرده و جواب را به كاربر تحویل خواهد داد.
تگ كاربردی دیگری كه احتمالاً تا این لحظه به ضرورت وجودش پی برده اید تگ <like> می باشد.
همانطوری كه می دانید مفهوم خیلی از سوال ها یكی می باشد و در نتیجه جواب مشابه خواهند داشت. به عنوان مثال مفهوم عبارت khoobi و khoob hasti یكی می باشد. در این مواقع از تگ <like> استفاده می كنیم.
مثلاً فرض كنید الگوی khoobi را برای بات با جواب مناسب تعریف كرده ایم. حال برای الگوی khoob hasti از ساختار زیر استفاده می كنیم: 												
<like>khoobi</like>با استفاده از این تگ در صورتی كه جواب الگوی khoobi عوض شود جواب تمام الگو های هم مفهوم نیز عوض می شود كه از محاسن استفاده از تگ <like> می باشد.

منبع : http://www.syavash.com

----------


## 3dboy1

*روبات یاهو مسنجر چیست؟*
خوب حالا باید بدونیم یک *ربات یاهو* چی هست اصلا! یعنی مثلا چطوری آنلاین می شه و چه فرقی با یه آی دی (ID) معمولی دار.
در اصل آی دی یه *روبات یاهو مسنجر* هیچ فرقی با آی دی های دیگه نداره فقط نحوه لاگین (Login) کردنش فرق میکنه. یعنی بر عکس من و شما که با *یاهو! مسنجر* (Yahoo! Messenger) لاگین می کنیم یه _روبات_ با یاهو! مسنجر لاگین نمی کنه و با یه برنامه ی دیگه که بهش اصطلاحا میگن شبیه سازی شده یاهو! مسنجر (Yahoo! Messenger Clone) لاگین می کنه! کار ما هم برای *روبات ساختن* دقیقا همینه یعنی باید یه *یاهو مسنجر* کلون بسازیم.
*یاهو! مسنجر چگونه لاگین می شود؟*
خوب برای اینکه بتونیم یه چیزی عین یاهو! مسنجر بسازیم اول باید ببینیم یاهو! مسنجر وقتی ما دکمه Sign In رو می زنیم چیکارا میکنه...
فعلا یه توضیح مختصر میدم بعدا سعی میکنم هر تیکشو به طور مفصل توضیح بدم:
یاهو! مسنجر اول میاد به *سرور یاهو*! پیغام میفرسته که میخوام بهت کانکت (Connect) بشم.
سوال دارین بکنین...
ببخشید، سرور چیه؟
" کلا به هر کامپیوتری که هر نوع سرویسی بده میگن سرور! مثلا توی شبکه داخلی (LAN) به اون کامپیوتری که همه کامپیوترا بهش کانکت میشن رو میگن سرور!
اما تو اینترنت وقتی صحبت از سرور میشه منظور یه کامپیوتره که همیشه آنلاینه! (معنی اصلیش اونیه که بالا گفتما! بعدا نگی این سیاوش همه چیو اشتباه میگه) "
این سرور که *یاهو! مسنجر* یهش وصل میشه ربطی به همون وب سرور (Web Server) اینا داره که روش سایت می ریزن؟
" نه عزیز من! این سرورا اصلابرنامه وب سرور (Web Server) روش نصت نیست. بجاش تمام یوزرنیم (Username) ها و پسورد های آی دی های یاهو روی این کامپیوترا ذخیره هستن... روی این سرورا یه برنامه نصب هست که کارش اینه که وقتی یاهو! مسنجر بهش خواست وصل شه اول بهش اجازه وصل شدن بده و بعد یه سری از اطلاعات (مثل یوزرنیم و پسوورد) رو چک کنه و اگه درست نبود ارتباط رو قطع کنه.
دز ضمن تقریبا تمام پی ام (PM) هایی هم که میفرستین اول میاد تو این سرورا و بعد به وسیله همین برنامه از سرور به اون شخصی که قرار بوده پی ام بهش برسه فرستاده میشه! "
ببخشید شما چرا تو جوابتون گفتین سرورا؟ مگه بیشتر از یکین؟
" آفرین! خوشم میاد تیزی! یک سرور برای این که این همه اطلاعات رو چک کنه و دریافت کنه و بفرسته کمه... یعنی اصلا نمی کشه. در نتیجه _یاهو_! اومده این کار رو بین کلی کامپیوتر تقسیم کرده. "
پس چرا آخرش گفتین از سرور به اون شخص میفرسته به جای از سرورا؟
" یه بار گیر دادی ازت تعریف کردم. حالا دیگه گیر ملا لغتی نده. منظورم اون سرور خاص بود که پیغام رو دریافت کرده. "
اونوقت یه سوال دیگه! چرا گفتین تقریبا تمام پی ام ها اول میرن تو سرور بعد از اونجا فرستاده میشن؟ چرا نگفتین همشون؟
" انگار جو گرفتتا! تو قرار نیست پشت سر هم سوال کنی. آقای قراره اینطوری باشه!
برای این گفتم تقریبا چون بعضی اوقات که یاهو ببینه ترافیک زیاده ارتباط مستقیم (Direct Connection) بر قرار می کنه یعنی پی ام ها دیگه به سرور نمی رن و مستقیم سند (Send) میشن به کسی که قراره بگیردش.
بعضی از برنامه های مسنجر مثل AOL همیشه ارتباط مستقیم بین کاربراشون بر قرار میکنن اینطوری هم سرورا زیاد بارشون سنگین نمیشه هم اگه مثلا اگر لاگ اوت (Logout) کنین خود AOL رو، می تونین به چتتون ادامه بدین چون برای ادامه چت نیازی به سرور نیست. "
ببخشید، ما میتونیم بفهمیم کی ارتباط غیر مستقیمه کی مستقیم؟
" آره! وقتی تو مسنحر داری چت می کنی بالای هر پنجره چت اسم تو و کسی که داری باهاش چت می کنی رو نوشته و یه - (dash) بینشون گذاشته. اگه به جای یک - دو تا دش ( -- ) اومد بینشون یعنی ارتباط مستقیم بر قرار شده.
خوب سوال دیگه بسه ... از موضوع اصلی خیلی دور شدیم. داشتیم میگفتیم یاهو! مسنجر اول به یکی از سرور پیغام میفرسته که میخوام کانکت شم. "
ببخشید ...
" بسه دیگه. الان سوال نکن. یه ذره وایسا این تیکرو گفتم دوباره سوال کن. "
خلاصه بعد *سرور یاهو*! قبول میکنه و کانکت میشن... اینجا باید دقت کنید که منظور از کانکت شدن لاگین شدن نیست. بلکه فقط کانکت شدن که اطلاعات بتونن به هم بفرستن. خوب حالا یاهو! مسنجر یوزرنین (Username) رو میفرسته و سرور بر حسب یوزرنیم و زمان یه اطلاعاتی رو میفرسته که به اون Seed میگن. حالا یاهو! مسنجر با توجه به Seed و یوزرنیم، پسورد رو encrypt میکنه و میفرسته به سرور یاهو!!! این تیکه مشکل ساز ترین قسمت برای ساختن یه یاهو! مسنجر کلون (Clone) هست. چون باید بفهمیم پسورد رو *یاهو! مسنجر* چطوری با توجه به یوزرنیم و سید، encrypt میکنه. این کار خیلی سخت هست و کار من و شما نیست در نتیجه ما برای این قسمت از یک DLL استفاده می کنیم که عمل encrypt کردن پسورد رو مثل یاهو مسنجر انجام میده (این DLL رو مدیون پروژه گیم (Gaim Project) هستیم! از همینجا از تمام دست اندر کاران این پروژه تشکر میکنم...)
حالا اگر سوالی دارین بپرسین... 
ببخشید، من نفهمیدم encrypt چیه اصلا.
" خوب حق داری. ببین عزیز من معمولا برای امنیت بیشتر پسورد ها و اطلاعاتی که به راحتی نباید درز کنرو رمز میکنن. رمز کردن بطور کلی به دو دسته تقسیم میشه:
دسته اول encrypt یا encode کردن هست. مثل base64 encoding
این دسته همیشه دوطرفه هستن یعنی میشه از رمز شده دوباره به اصلش برگشت.
بعضی encrypt ها هم یک یا چند پارامتر به عنوان key میگیرن. یعنی با توجه به اون اطلاعات encrypt میکنن. 
مثلا encrypt کردن کلمه syavash به وسیله الگوریتم Blowfish با کی a1 میشه No0ICOlDP6E= و با کی b2 میشه cu/FsS9kwvg= و مینونیم با داشتن کی (key) دوباره این دو تا رو به syavash برگردوند.
encryption پسورد یاهو! مسنجر هم تقریبا همینطوریه... یعنی چند تا پارامتر مثل Seed و یوزرنیم رو میگیده و پسورد رو encrypt میکنه!
دسته دوم رو hash بهشون میگن. در این مدل رمز کردن، ممکنه رمز برگشت پذیر نباشه چون تابع یک به یک نیست. برای مثال وقتی syavash رو با الگوریتم md5 هش میکنیم این شکلی میشه : 07fcf2ae7ef576f7d31d845e91001097
حالا از همین رمزی که بالا در اومده امکان نداره بشه به syavash رسید. "
یاهو برای چی اصلا Seed رو میفرسته؟ خوب بر حسب یوزرنیم و پسورد این کارو انجام میداد.
" دلیل اصلی اینه که زمان هم در اون تاثیر داشته باشه. چون اگه اینطوری نباشه یکی راحت میتونه encrypt شده پسورد یکی دیگرو رو به وسیله یه sniffer (بعدا دربارش توضیح میدم) بدست بیاره و بعدا هر وقت خواست با آی دی اون لاگین کنه. اما اگر زمان هم توش اثر داشته باشه فقط در همون لحظه (که دیگه تکرار نخواهد شد) از اون پسورد encrypt شده استفاده می شه کرد. "
DLL چیه دیگه؟ ربطی به download داره؟
" نه... DLL مخفف *D*ynamic *L*ink *L*ibrary هست و یه سری فرمان های اجرایی توش قرار دارن که میشه ازشون در هر برنامه ای استفاده کرد. فقط باید به این توجه داشته باشیم که DLL ها فقط برای ویندوزن و تو بقیه سیستم عامل ها نمیشه ازشون استفاده کرد.
کار DLL ای که بالا دربارش توضیح دادم اینه که پسورد رو همونطوری که یاهو! مسنجر رمز میکنه، رمز کنه! "
آقای انگار سوال داشتی؟ 
اممم... یادم رفت...
" باشه پس وقتی یادت اومد بگو. "
خوب وقتی ما این اطلاعات رو فرستادیم سرور یاهو! چک میکنه اطلاعاتی که بهش دادیم (همون یوزرنیم و پسورد) درست هستن یا نه. در صورتی که غلط باشن برای یاهو! مسنجر یه پیغام میفرسته که پسورد و یوزرنیم مطابقت ندارن و قطع میکنه ارتباط رو. در صورتی هم که درست باشه یه پیغام میفرسته که لاگین انجام شد و دقیقا در همون لحظست که چراغ آی دی شما تو یاهو! مسنجر دوستاتون روشن میشه و بعدشم لیست دوستان (Friend List) و سایر اطلاعات فرستاده میشه.
خوب! برای این جلسه بسه دیگه... این دفعه فقط همینطوری فهمیدیم چه اتفاقی میوفته که ما از طریق *یاهو مسنجر* *آنلاین* میشیم. جلسه ی دیگه میبینیم دقیقا چه اطلاعاتی فرستاده و دریافت میشن و چطوری میتونیم یه برنامه درست کنیم که دقیقا همون کارارو بکنه.
خوب دیگه سوالی نیست؟
...
عجیبه این جلسه خانوم چیزی نگفت... انشالله از جلسه دیگه حضور فعالانشونو میبینیم

منبع : http://www.syavash.com

----------


## 3dboy1

دوست عزيز فكر كنم سورس برنامه در اختيار شماست و خيلي راحت مي تونين از روي سورس به اين موضوع پي ببرين؛ از dll مشكوكي هم كه استفاده نشده...

باز هم از نظر شما ممنون
دوستان ديگه در اين رابطه نظرشون چي هست ؟

----------


## HAMRAHSOFT.IR

درست دوست من فكنم سيستم من قاط باشه كه اينطور شد

راستي اگه بخوايم بصورت مخفي رباط ان كنيم چه كنيم 

ميشه مثل ياهو يك گزينه داشته باشه

----------


## mm_yaghoob

> دسوت عزيز فكر كنم سورس برنامه در اختيار شماست
> و خيلي راحت مي تونين از روي سورس به اين موضوع پي ببرين
> از dll مشكوكي هم كه استفاده نشده
> باز هم از نظر شما ممنون
> دوستان ديگه در اين رابطه نظرشون چي هست ؟


اقا زحمت كشيدي ولي ايدي را كانكت نمي كنه و ارورر ميده
Invalid login information.
مشكل از ايدي و پسوردش نيست

----------


## 3dboy1

> اقا زحمت كشيدي ولي ايدي را كانكت نمي كنه و ارورر ميده
> Invalid login information.
> مشكل از ايدي و پسوردش نيست


دوست عزيز همه بچه ها دارند با اين ربات كار مي كنن، مشكل از سيستم شماست.

----------


## mm_yaghoob

> دوست عزيز همه بچه ها دارند با اين رباط كار مي كنن
> مشكل از سيستم شماست
> خوشحال ميشم كمكتون كنم در اين رابطه


فقط كانكت نميشه

----------


## meisambandari

> سلام
> ممنون از دل شكسته
> من براي فارسي اين از يوني كد استفاده كردم
> اما وقت نكردم تست كنم
> شما دوستان زحمت تستش رو بگشيد و ايرادها و نظراتتون رو برام ارسال كنيد
> انتظار داشتم دوستان بيشتر از اين همكاري كنند
> لينك سورس : 
> http://users5.titanichost.com/3dboy/..._robat_me3.rar
> موفق باشيد


sسلام
من ربات رو لوگین میکنم و بهش پیام میدم ولی جواب پی ام از طرف ربات برام نمیاد میشه بگین مشکل از چی میتونه باشه ؟

----------


## mm_yaghoob

> با سلام خدمت همه دوستان
> از بچه ها اگر سورس رو دانلود كردند و با اشكالاتي برخورد كردند اشكالات رو مطرح كنند تا رفع بشه
> اشكالاتي كه تا به امروز گفته شده بود تا اونجايي كه بشه رفع شد و سورسش رو انشا ا... امشب در اختيار دوستان قرار ميدم
> منتظر تظرات شما عزيزان هستم


جناب 
3dboy1 خيلي  زحمت ميكشي و استادي مي كني
 ولي من تا انجا كه مي دونم سيستم من هيچ مشكلي نداره ولي پي ام سندر و روبات شما در كانكت شده مشكل دارند مرسي دوست عزيز
تستش كنيد اخرين سورس هر دو برنام رو

----------


## 3dboy1

با سلام 
خوب بالاخره اين نسخه هم آماده شد.
اول از همه از دوستان بابت پيشنهاد هايي كهدرباره امكانات جا افتاده ي بات دادند ممنونم 

واما امكانات جديد! توي اين نسخه موارد جديد زير اضافه شدند:
اضافه شدن Webremote: براي دسترسي به اون بعد از اجرا كردن برنامه كافي هست Ctrl+W رو بزنيد و سرويس وب رو فعال كنيد. به صورت پيشفرض مي تونيد از اين آدرس بهاين سرويس دسترسي داشته باشيد:كد:
http://localhost:1367/
http://###.###.###.###:1367 
كه به جاي # ها آدرس آيپيتون رو مي تونيدقرار بديد. در صورتي كه آيپيتون وليد باشه از كامپيوتر هاي ديگه هم مي تونيد بهشدسترسي داشته باشيد.

در حال حاضر اين قابليت براي تست هست فقط بنابراين پسورديبراش گذاشته نشده. اگر مشخص بشه Stable هست روش بيشتر كار خواهيم كرد. 
اضافه شدن قابليت جواب تصادفي دادن از سطر هاي يك Table: چند تا از دوستان ميخواستند مثلاً وقتي /joke زدند يك سطر از جدول Jokes رو به عنوان مثال جواب بده. يكسويچ مانند همين درخواست رو با نام /tip در ورژن جديد قرار دادم كه با زند /tip يكعبارت رو از جدول Tips بيرون مي كشه و به كاربر نشون ميده. در ضمن در صورتي كه /tip 2 مثلاً زده بشه دومين عبارت رو از جدول ميكشه بيرون و پاسخ مي ده. با ديدن اينمثال كه در فايل modSwitchTip.bas قرار داره مي تونيد سويچ هاي ديگري شبيه اين موردرو اضافه كنيد. تعويض كلي ساختار پردازش سوال: قبلاً تمام سويج ها در يك فايل تعريف شده بودندو خيلي ساختار جالبي نداشتند. در اين نسخه هر سويچ در فايل مجزايي مثل modSwitchTest.bas قرار داره. اين به دوستان كمك مي كنه تا سويچ هايي كه مي نويسندرو راحت تر بتونن به اشتراك بگذارند و همينطور استفاده از سويچ هاي دوستان روآسونتر خواهد كرد. هر سويچ مي تونه هر تعدادي ورودي داشته باشه و در نهايت جوابي كهبايد به كاربر داده بشرو به عنوان خروجي بر مي گردونه. در اين نسخه چند سويچ بهعنوان مثال موجود هست. در ضمن در متود getPM يك بخش براي افزودن سويچ هاي جديد مشخصشده كه مي تونيد سويچ هاي جديدي كه درست مي كنيد رو در اون بخش به بات متصل كنيد. اضافه شدن سويچ /status و /help كه كارايي اونا از اسمشون مشخص هست. (با تشكراز دوستان) اضافه شدن قابليت دسترسي به وب: اين يك امكاني هست كه خيلي وقت پي بايد اضافهمي شد اما خوشبختانه توي اين نسخه بالاخره اضافه شد. يك آبجكت با نام Web در ايننسخه داريم كه شما مي تونيد در هر جا از كد از اون استفاده كنيد و اطلاعات يك آدرساينترنت رو دريافت كنيد و از اون براي جواب بات استفاده كنيد. استفاده از اون همخيلي ساده است، مثلا دستور زير:كد:
result = Web.getURL("http://www.barnamenevis.org") 
محتوايسايت برنامه نويس رو داخل متغير result ميريزه و شما مي تونيد مثلا آخرين خبر هايسايت رو از result استخراج كنيد. يا حتي با اين ابزار مي تونيد RSS Feed‌ ها رو بازكنيد و مطالب رو از اونا استخراج كنيد.

براي اينكه ارزش اين ابزار مشخص بشه يكسويچ با نام /search به عنوان مثال در اين نسخه وجود داره كه سايت گوگل رو به دنبالكلمه اي كه جلوي اين سويچ وجود داره مي گرده و 5 نتيجه ي اول رو به كاربر نشونميده. 
امكان بعدي كه اضافه شد، ايجاد يك Constant در ابتداي فايل frmMain.frm با نام repeatSafeTerms هست كه مشخص مي كنه كدام عبارات مشكلي ندارند چند بار پشت سر همتكرار بشن (مثلاً براي /joke ميتونه استفاده بشه). هر عبارت با يك ; جدا ميشه و اولو آخر مقدار اين Constant هم بايد ; داشته باشه. چند باگ هم برطرف شدن از جمله حذف نشدن افراد از ليست كاربران فعال بعد ازاينكه زمان فعاليتشون صفر مي شد. بر طرف كردن مشكل شكلك ها:‌در حال حاضر يك Table‌جديد با نام Exacts به بانكاطلاعاتي اضافه شده كه قبل از هر گونه پردازشي روي سوال سعي ميشه جواب از اين جدولاستخراج بشه. مي تونيد شكلك ها رو در اين جدول با جوابشون تعريف كنيد. در ورژن هايآينده رويكرد ديگري براي شكلك ها و علامت ها معرفي خواهد شد انشاالله. آخرين ولي يكي از مهمترين تغييراتي كه در حال حاضر يادم مياد هم اضافه شدنامكان موضوع گيري در بات هست كه در آموزش زير ميگن فايده ي اون چي هست. فرض كنيد به بات همينطوري بگيد aReh! خوب اين مفهوم خاصي نداره.
حالافرض كنيد بعد از اينكه بات از من سوال كرد Man ro doost dari? بگم aReh. همونطوريكه ميبينيد اينجا كلمه ي آره مفهوم پيدا مي كنه و به معني من تو را دوست دارمهست.
حالا فرض كنيد در جواب حالت خوب هست بگم آره! در اين صورت معني آره، حالمخوب هست ميشه.

پس يك كلمه ي aReh در جاهاي مختلف با توجه به موضوع بحث معنيهاي متفاوتي مي تونه داشته باشه! اينجاست كه مبحث موضوع دادن مطرح ميشه.
اگر بهجدول Patterns نگاه كنيد يك تگ جديد معرفي شده با نام <subject>. اين تگموضوع صحبت رو تغيير مي ده.
براي بهتر فهميدن موضوع يك مثال از حرف زدن من بابات رو ببينيد:
كد:
3dboy1: Mano doost dari?
Bot: aReh azizam, to mano doost dari?
3dboy1: aReh dooste khoobam
Bot: MerC golam Man bishtar dooset daram.
3dboy1: Mano doost dari robot?
Bot: aReh azizam, to mano doost dari?
3dboy1: Hava chetore?
Bot: Javabamo bede dige, doosam dari? Areh ya na?
3dboy1: Na aslan
Bot: Amma man dooset daram
3dboy1: Na aslan
Bot: Motevajeh nashodam! 
خوب حالا بيايم بررسي كنيم! اول پرسيدم منو دوست داره و بات به ما جواب داده و از ما پرسيده كه آيا ما هم اونو دوست داريم يا نه. اگر در جدول Patterns نگاه كنيد داخل تگ <subject> مقدار TO MANO DOOST DARI قرار گرفته. اين يعني موضوع بحث دوست داشتن روبات هست (چون روبات سوالي با اين موضوع پرسيده).
حالا اگر ادامه ي جدول رو نگاه كنيد سه سطر با TO MANO DOOST DARI به عنوان Subject وجود داره. يعني اين سه سطر جواب هايي هستند كه فقط وقتي موضوع اين هست بايد چك بشن. اين سه سطر مشخص مي كنند كه اگر در پاسخ are موجود بود و موضوع TO MANO DOOST DARI بود يك جواب بخصوص داده بشده اگر na موجود بود جواب ديگري داده بشه و اگر جواب ديگري بود و بات براي اون جوابي نداشت سوالش رو كه من رو دوست داري هست تكرار كنه. دقت كنيد اگر جواب كاربر آره يا نه باشه از تگ جديدي با نامه <subject /> استفاده شده كه معادل <subject></subject> هست. يعني موضوع تهي بشه. چون وقتي كاربر جواب سوال رو يك بار با بله با نه بگه ديگه موضوع منو دوست داري نيست و بايد موضوع خالي بشه.
اگر در گفتگوي من با بات دقت كنيد اين موارد رو ميبينيد.
در ابتدا جواب آره داده شده به سوال بات و بات هم عكس العمل مناسبي نشون داده.
بعد يك بار ديگه سوال پرسيده شده اما اين بار من جواب بي ربطي دادم و بات به سراغ * با اين موضوع رفته و سوال رو تكرار كرده (موضوع همچنان منو دوست داري هست) بعد كه جواب رو نه گفتم بات مجدداً عكس العمل مناسبي داشته. در نهايت من يك بار ديگه نه اصلاً رو تكرار كردم و بات گفته متوجه نمي شم! كه منطقي هم هست. دليلش اين هست كه با جواب نه كه دفعه ي پيش داده شده موضوع تهي شده با تگ <subject />.

موضوع Subject كمي در ابتدا پيچيده هست. اگر جاييش رو متوجه نشديد بگيد تا بيشتر توضيح بدم.

كم كم مي تونيم يك مسابقه ي واقعي بين بات ها داشته باشيم!

در صورتي كه باگ يا مشكلي ديديد داخل نسخه ي جديد حتماً همينجا اطلاع بديد.

با تشكر فراوان از آقا سياوش : http://www.syavash.com


لينك برنامه :
*برای دانلود ربات به ادامه تاپیک مراجعه کنید*


موفق باشيد

----------


## saeid12

سلام دوستان
یه سوال داشتم دیدم اینجا بهترین جا واسه پرسیدن.
من میخواستم آی دی کل یک رومو - Room بدست بیارم.
پیشا پیش تشکر میکنم.

----------


## saeid12

سایفر روبات اولین روبات پاسخ گوی فارسی زبان است. نکته ی جالب این است که سایفر دارای شخصیت می باشد، به عنوان مثال اگر طرف مقابل بد حرف بزند ناراحت می شود یا حتی ممکن است قهر کند، و از طرف دیگر ممکن است عاشق شود! سایفر فقط یک پاسخ گو نیست بلکه بعضی اوقات سوال می پرسد و با توجه به جوابی که می گیرد به اطلاعات خود می افزاید. نکته ی جالب دیگر اطلاعات کامل این روبات در زمینه ی فیلم و آهنگ و استعداد قابل توجهش در ریاضی است! سایفر می تواند نوع شخصیت طرف مقابل خود را تا حدودی از جواب هایش حدس بزند! شما می توانید با اضافه کردن آی دی "neol3ot" در یاهو! مسنجر با سایفر حرف بزنید، اگر دیدید سایفر اسم یا سنتان را حدس زد تعجب نکنید چون کاملا عادی است! در صورتی که به طریقه ی ساخته شدن این روبات علاقه مندید، آموزشی در این زمینه در اینجا وجود دارد. در این آموزش پروتکل YMSG نیز بصورت کامل تشریح شده.
http://www.syavash.com

----------


## Dr.Bronx

جناب 3dboy1
ظاهرا اون قسمتي كه گذاشتم رو دانلود كرديد اگه لطف كنيد و كد ها رو مرتب كنيد و آپلود كنيد چندين گزينه ديگه هم قصد دارم اضافه كنم بهش كه خيلي كار آمد تر ميكنه برنامه رو
اگه هر چه زودتر اين كار رو انجام بديد ممنون مي شم
موفق باشيد

----------


## Dr.Bronx

اين هم قسمت كامل تر شده ارتباط
دو گزينه اضافه شده كه در رجيستري ذخيره ميشه
و فراخواني ميشه در load
دوتا فايل در اين Release هست 
يكي 
MBmsgbox كه مسيج باكس هارو فارسي قرار بديم و يكي هم كه فرم Frm_login هست كه اين دوتا فايل رو در محل سورس قبلي كه گذاشتم كپي كنيد.

اين هم عكس




موفق باشيد

----------


## Dr.Bronx

> تغيير رنگ نوشته ها



با کد زیر می تونید رنگهای RGB را به Hex تبدیل کنید و Hex را به رنگ. 
(( رنگ های موجود در یاهو به صورت HEX هست ))

Public Function rgbtohex(r As Byte, g As Byte, b As Byte)
'input format = 255,255,255
'get the r value
If r < 16 Then
hex1 = 0 & Hex(r)
Else
hex1 = Hex(r)
End If

'get the g value
If r < 16 Then
hex2 = 0 & Hex(g)
Else
hex2 = Hex(g)
End If

'get the b value
If b < 16 Then
hex3 = 0 & Hex(b)
Else
hex3 = Hex(b)
End If

rgbtohex = "#" & hex1 & hex2 & hex3
End Function


Public Function RGBtoColor(r As Byte, g As Byte, b As Byte)
RGBtoColor = r + (g * 256) + (b * 65536)
End Function


Public Function colortorgb(color As Long)
Dim r, g, b As Byte
r = color And 255
g = (color \ 256) And 255
b = (color \ 65536) And 255
colortorgb = r & "," & g & "," & b
End Function

----------


## saeid12

میشه کاری کرد که وقتی طرف داره پیغام مینویسه ما با خبر بشیم.
همون پیغام  ID Is Typing

----------


## Dr.Bronx

آقايون اين قسمتي از چت من با روبات Cypher هست
واقعا حرف نداره
يك جواب هايي داد كه من از انسان هم انتظار نداشتم اينهارو بگه
واقعا جالب بود

حتما تك تك جملات رو بخونيد

----------


## 3dboy1

با سلام
توي اين نسخه فقط چند تا از باگ هاي نسخه ي قبلي برطرف شده...
علاوه بر اون چندتغيير ديگر هم داريم از جمله:
اضافه شدن دو فلش جهت بزرگ و كوچك كردن ليستدريافت پي ام ها. با اين امكان جديد شما مي تونيد ليست دريافت پي ام ها رو به سهسايز مختلف در بياريد و اينطور خيلي بهتر مي تونيد پيام هاي دريافت شده توسط بات روچك كنيد.
در اين نسخه وقتي بات به روم ميره كاربران جديد به ليست دوستانش دربانك اطلاعاتي اضافه مي شن.
يكي از مهمترين تغييراتي كه داده شده اتصال بات بهبانك اطلاعاتي مركزي هست! كه براي كمك به رسيدن اين بات به هدفش طراحي شده. از ايننسخه به بعد به صورت پيشفرض وقتي كسي عبارتي رو با سويچ /learn به بات ياد ميدهعلاوه بر ثبت شدن اين عبارت در بانك اطلاعاتي بات، اين عبارت در بانك مركزيهم ثبت ميشه. به اين منظور يك API طراحي شده كه در حال حاضر فقط جهتثبت اطلاعات از اون استفاده ميشه. اگر دوست نداريد اين اتفاق بيفته مي تونيد درفايل modSwitchLearn.bas چند خط مربوط به اين بخش رو حذف كنيد. همچنين وقتي كاربرجديدي به بات پي ام ميده نام اين كاربر در بانك اطلاعاتي مركزي ثبت ميشه. توجهداشته باشيد تمام اين اطلاعات با نام خود بات و صاحب بات ثبت مي شن!
همانطور كهمي دونيد قرار بود يك مسابقه بين بات ها برگزار شه! حالا يك امكان جديد هم برايسنجش فعاليت و ميزان كمك بات ها داريم و اون هم Toplist هست! در Toplist كه با زدندكمه هاي Ctrl+L قابل دسترس هست ليست تمام بات هايي كه از SMClient استفاده مي كنند (البته اونايي كه بخش بانك اطلاعاتي مركزي رو حذف نكردند) به همراه تعداد عباراتيكه از طريق اون بات ها به بانك مركزي آموزش داده شده و همينطور تعداد كاربران باتموجود هست! كه مي تونه تا حدودي نشاندهنده ي قدرت و ميزان پيشرفت بات باشه! ممكنهدر مسابقه از اين پارامتر ها هم استفاده بشه (البته با بررسي مفيد بودن اطلاعاتآموزش داده شده). يا حتي ممكن هست مسابقه ي مجزايي در اين زمينه برگزاربشه.

به نظر شما چه آمار ديگري از بات ها ثبت بشه مي تونه مفيد باشه؟ مثلاًتعداد پترن ها فرستاده بشه، يا مثلا آمار افراد فعال در روز يا ساعت ثبت بشه! ياتعداد پيام هاي دريافتي توسط بات ها! به نظر شما ثبت و مقايسه ي چه اطلاعات ديگريمي تونن در مفيد و كارا بودن بات تاثير داشته باشن؟

لینک دانلود : 
http://users5.titanichost.com/3dboy/...ent v1.3.8.rar

منتظر نظرات سازنده شما عزیزان هستم

موفق باشید

----------


## bluebeach

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

----------


## hamidreza777

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

----------


## lordarma

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

----------


## behrooozmrd

با سلام
من یه برنامه میخوام تو vb بنویسم که بتونه add کنه و بتونه pm بفرسته.اگه میشه پکتهای مربوط به این دستورات رو بگین.
البته ارسال و دریافت pm رو میتونم انجام بدم ولی وقتی کسی add میکنه نمیتونم accept کنم.

عاجزانه درخواست کمک دارم دوستان

----------


## HjSoft

دوست من ، ما دیر رسیدیم ...
اگر آقای Pr0grammer لطف کنند و آخرین سورسی رو که 3dboy آپلود کرده بودند رو بزارن خیلی خوب میشه .. چون از تو سروری که آپ کرده بودند پاک شده .

----------


## Pr0grammer

آخرین سورسی که بنده از این برنامه داشتم، اصلا  Sign In نمیشد...
الانم هر چقدر توی سیستمم سرچ کردم، پیدا نشد!...
چرا خوده 3dboy دوباره آپلود نمی کنه!؟

پ.ن:
من بازم میگردم، اگه پیداش کردم، حتما براتون آپلود می کنم...

----------


## HjSoft

اون سورس قبلی بدرد نمیخوره . نحوه لاگین یاهو فرق کرده ...!!!

----------


## webkar

> با سلام
> من یه برنامه میخوام تو vb بنویسم که بتونه add کنه و بتونه pm بفرسته.اگه میشه پکتهای مربوط به این دستورات رو بگین.
> البته ارسال و دریافت pm رو میتونم انجام بدم ولی وقتی کسی add میکنه نمیتونم accept کنم.
> 
> عاجزانه درخواست کمک دارم دوستان



شدیدا منم نیاز دارم
کسی هست که بتونه این کمک رو بکنه
اساتید رفتن مرخصی :دی

----------


## Snoopboy

ورژن قبلی به خاطر این کار نمی کرد چون یاهو تفییرات داده بود و پروتکل 12 رو بسته بود و الان روی پروتکل 16 کار می کنه . من سورس جدیدشو برات میزارم امید وارم به دردت بخوره
نشد تو سرور خود سایت آپلود کنم . شرمنده

http://www.2shared.com/file/1XOaTjtB/SMClient_140.html

 :قلب:

----------


## Pr0grammer

امیدوارم این برنامه بدردتون بخوره، کلی واسش وقت گذاشتم و تقریبا بطور کامل تست شده...
اگه مشکلی داشت لطفا همینجا مطرح کنید، و اگه خودتون مشکل رو رفع کردید، پروژه رو دوباره بزارید اینجا...
یک  فایل ocx هم در این پروژه نیازه که باید از پوشۀ Resources رجسترش کنید...

امکانات برنامه :
- قابلیت تائید یا عدم تائید درخواست دوستی
- نمایش گروه ها و لیست دوستان
- قابلیت تغییر Status و Invisable
- امکان چت (اعم از ID های درون Add List و خارج از آن)
- امکان پاسخگویی خودکار (روبات یاهو)
- امکان فعال و غیر فعال کردن پاسخگویی خودکار
- تعیین متن جواب ارسالی برای زمانی که روبات قادر به فهم پیام دریافت شده نیست!
- گشودن صفحۀ جداگانه برای هر گفتگو (ایجاد صفحه در حالت RunTime) و تشخیص ارسال پیام به صفحۀ گفتگوی مورد نظر
- پشتیبانی از ارسال و دریافت پیام های فارسی
- دارای بانک اطلاعاتی اکسس برای ذخیره پیام های قابل تشخیص

لینک دانلود سورس برنامه :
http://www.4shared.com/file/iawneUIC...ot_ver2-8.html

اینم یه Video از طرز کار روبات :
http://www.4shared.com/file/zB0xRMMM...hoo_Robot.html

ضمنا ظاهر برنامه فعلا برای بنده مهم نبوده و سورس برنامه رو اینجا قرار دادم تا هرکس به دلخواه خودش، تغییرش بده...
منتظر نظرات هستم...
موفق باشید/

----------


## omid22

> مشکلات مذکور کاملا رفع و لینک دانلود در همان پست قرار داده شد...
> 
> 
> موفق باشید/


سلام

واقعا دستتون درد نکنه واقعا چیز جالبی هستش

ولی متاسفانه تاکه به رباط  پی ام میدم تو خود رباط جواب پی ام را مینویسه ولی برای من ارسال نمیکنه.
لازمه که بگم ورژن برنامه یاهو مسنجرمم 9.0.0.2160 هستش.

لطفا راهنمایی کنید.

ممنون

----------


## MahmoodGH

> ضمنا ظاهر برنامه فعلا برای بنده مهم نبوده و سورس برنامه رو اینجا قرار دادم تا هرکس به دلخواه خودش، تغییرش بده...
> منتظر نظرات هستم...
> موفق باشید/


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

----------


## M0TR!X

سلام.

دوستان ممنون میشم ymsgmod.ocx   رو بزارین

----------


## Pr0grammer

> سلام.
> دوستان ممنون میشم ymsgmod.ocx   رو بزارین


توی پوشۀ Resource هستش...

----------


## obaid1372

سلام چطور میشه به این روبات امکاناتی اضافه کرد که از ای دی دیگه بشه کنترلش کرد و یا 
بشه دیگران نیز بتوانند سوال و جواب یادش بدن :  مثل روبوت های دیگه که می نویسید
leran qu , awn/
و روبات این سوال و پاسخ رو یاد میگیره (تو دیتابیسش ثبت میشه )

----------


## Pr0grammer

> سلام چطور میشه به این روبات امکاناتی اضافه کرد که از ای دی دیگه بشه کنترلش کرد و یا 
> بشه دیگران نیز بتوانند سوال و جواب یادش بدن :  مثل روبوت های دیگه که می نویسید
> leran qu , awn/
> و روبات این سوال و پاسخ رو یاد میگیره (تو دیتابیسش ثبت میشه )


برای این کار باید زمانی که یک پیام دریافت میشه؛ متنش رو بررسی کنید...
یعنی ابتدا بررسی کنید که اگر 6 کاراکتر اول متن برابر با /Learn بود، اون موقع پارامتر ها رو هم با کدنویسی از متن جدا کنید (مثلا با استفاده از تابع Right و  Left) و نهایتا با استفاده از دستورات درج در بانک، اونها رو به بانک منتقل کنید...

----------


## obaid1372

من زیاد کار نکرم ویژوال در سطح مبتدی هستم اگه لطف می کردید که خودتون درستش می کردید 
خیلی ممنون میشدم ازتون . واقعا محتاجشم /
یه چندتا روبوت دیگه دارم که این قابلیت رو دارن اما اونا لاگین نمیشن همشون از کار افتادن 
فقط ماله شما نمیدونم از چه روش و چه راهی استفاده کردید که کار می کنه . 
اگه هم بتونید یکی از اون روباتها رو فقط روش لاگینش رو عوض کنید فکر کنم راحت تر باشه !

----------


## M0TR!X

سلام.

انگار واسه همه لاگین میکنه به جز من  :گریه: 

socks error the attmpt to conect time out

راستی سیستم من فونت رو هم تشخیص نمیده ممنون میشم فونش رو هم ضمینه کنید البته میدونم میشه ولی به خاطر یه مشکل ویژوال نصب بشه

----------


## Pr0grammer

> انگار واسه همه لاگین میکنه به جز من  : socks error the attmpt to conect time out
> راستی سیستم من فونت رو هم تشخیص نمیده ممنون میشم فونش رو هم ضمینه کنید البته میدونم میشه ولی به خاطر یه مشکل ویژوال نصب بشه


احتمالا برنامه Visual Basic درست نصب نشده و مشکل داره!
فونت ها هم که همه فونت های پیش فرض ویندوزن! یعنی چی نمیشناسه؟ کدومارو منظورتونه؟!  :متفکر:

----------


## hamidi_77

دوستان من يه مشكلي به YMSGMod.ocx دارم يه نرم افزار نوشتم كه از اون ocx استفاده مي‌كند رو كامپيوتر خودم كار مي كند ولي بعد از ساختن setup برنامه روي كامپيوتر كسي ديگه نصبش كردم در اجراي برنامه خطاي زير و مياره
Failed to load control 'YMSG' from YMSGMod.ocx Your Version of YMSGMod.OCX my be outdated make sure you are using the version of the control that was provided with your application  ميشه بگين اين ocx مال چه كسي هست چون تو ورژن من نوشته 2009-2010 يعني بعد از 2010 از كار مي افته

----------


## hamidi_77

مشكل نصب پيدا كردم MSWINSCK.OCX روي كامپيوتر طرف نصب نشده بود
حالا كسي مي دونه كمك كنه بگه اين YMSGMod.OCX تا كي كار ميكنه يعني بعد از سال 2010 هم كار ميكنه لطفا راهنمايي كنيد

----------


## mahdyari77

میشه برنامه رو کامپایل شده بزارید لطفا

----------


## cmorgh93

این ربات چی شد پس ؟!؟! نمیشه آماده شده و کاملش رو بزارین ؟!

----------


## lvlehdi

سلام دوستان من چند تا تغییر کوچیک دادم البته میشد کد نویسی شو بهتر نوشت بازم شرمنده
http://www.mediafire.com/?rtiod3i4a4qnsrq
کاری که تو این نسخه میکنه اینکه
/gf
/bf
/doost
براش تعریف شده
و نکته بدیش اینکه یک کوچلو data شو من زیاد کردم  شما سیع کنید data بیشتری قرار بدید
تا بقیه هم استفاده کنند :قلب:

----------


## lordbooter

> این ربات چی شد پس ؟!؟! نمیشه آماده شده و کاملش رو بزارین ؟!



من هم با این دوستمون موافقم ، لطفآ setup برنامه رو هم بزارید همراه با سورس

----------


## behzad_vb.net

سلام به همگی و خسته نباشید خدمت دوستان عزیز من ادامه مطلب را متوجه نشدم چطور باید پیدا کنم و دانلود کنم :متفکر:

----------


## behzad_vb.net

پس چرا کسی جواب نمیده این همه عضو فعال پس چرا جواب نمیدید

----------


## _behnam_

به این تاپیک سر بزن 
http://artificial.ir/intelligence/thread8326-5.html

----------


## hosain55

سلام من از برنامه نویسی زیاد متوجه نمی شوم اگر میشه این ربات کامل رو قرار بدید من خیلی وقت دنبال اینم تروخدا 
ممنونتون میشم
من ربات پیدا کردم اما به درد نمیخورند این قابلیت هایی رو که خوندم عالیه

----------


## mirage041

سلام
متاسفانه سورس این برنامه از بین رفته . دوستانی که این سورس رو دارند تشکر می کنم دوباره بزارن . +
1- من در زبان سی شارپ کار می کنم می شه این سورس رو تبدیل به سی شارپ کرد . ( البت جواب بده ها 9
2- ایا امکان داره از طریق rss اخرین اطلاعات رو بگیره .

----------


## behzad_vb.net

دوستان من هنوز در دریافت پی ام مشکل دارم و وقتی بیش از 60 پی ام میفرستم دیگه پی ام ها ارسال نمیشه چیکار کنم

----------


## m031em

سلام دوستان منم کاملا نا واردم با اجازه البته اگه ممکنه کامپایل شدش رو بذارین من خیلی نیازش دارم اگه میشه کاملشو بذارین واسه دانلود   باید یه چیزی مثل این ربات باشه مگه نه ؟  robo

----------


## ostovarit

> دوستان من هنوز در دریافت پی ام مشکل دارم و وقتی بیش از 60 پی ام میفرستم دیگه پی ام ها ارسال نمیشه چیکار کنم


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

----------


## behzad_vb.net

Yahoo Login.rar

این کده منه پی ام میفرسته ولی دریافت نمیکنه و اینکه من یک سری لیست ای دی داخل لیست باکس بهش میدم ولی تعدادی از ان را میفرسته چطور میشه از اسپمر خو را خارج کرد یا نزاریم اسپمر بشه من
خودم یک راه داشتم که جواب نداد اومدم یک تایمر کذاشتم 10 تا پی ام میفرسته و دیسگانکت میشه برای 10 ثانیه
بعد 10 ثانیه دوباره کانکت شده و 10 تا دیگه پی ام میفرسته ولی بازم اسپم شدم راه حل چیه
و من خط اینترنتم وایمکس ایرانسل و با وی پی ان هم وصل نشدم و پی ام فرستادم ولی دریافت نتونستم بکنم
مرسی از همکاریتون

----------


## behzad_vb.net

با وی پی ان هم پی ام دریافت نمیشه بابا کمک کنید جاب دوری نمیره

----------


## behzad_vb.net

چطور میشه  پی ام گروهی فرستاد مثلا برای 1000 نفر

----------


## سید حمید حق پرست

> امیدوارم این برنامه بدردتون بخوره، کلی واسش وقت گذاشتم و تقریبا بطور کامل تست شده...
> اگه مشکلی داشت لطفا همینجا مطرح کنید، و اگه خودتون مشکل رو رفع کردید، پروژه رو دوباره بزارید اینجا...
> یک  فایل ocx هم در این پروژه نیازه که باید از پوشۀ Resources رجسترش کنید...
> 
> امکانات برنامه :
> - قابلیت تائید یا عدم تائید درخواست دوستی
> - نمایش گروه ها و لیست دوستان
> - قابلیت تغییر Status و Invisable
> - امکان چت (اعم از ID های درون Add List و خارج از آن)
> ...







*سلام اساتید عزیز
این لینک از کار افتاده و فایل حذف شده
لطفا دوباره بزاریدش ممنون میشم
اگه کسی این سورسرو داره مردونگی کنه یه جا دیگه آپش کنه و لینکشو همینجا بزاره .
سپاسگزارم*

----------


## milad-sezar

ببخشد دوستان ولی سعی کنید چیزی رو میذارید پیگیر باشید نیمه کاره رها نکنید :قلب:

----------


## koorosh-soft

اقا لینک هنوز خرابه

----------


## Sal_64

زمانیکه این ocx به برنامه اضافه میکنم
چیزی توی فرمم نشون نمیده
تنها یه چهارچوب خالی که وقتی روش کلیک میکنم و پروپرتیس میگیرم مشخص میشه که axymsg1 
در زمان لاگین این خطا میده چرا؟
Exception has been thrown by the target of an invocation.

در ضمن با #c برنامه مینویسم
تشکر

----------


## YasserDivaR

وروجك روبات ياهو يكي از بهترين نرم افزار هاي فارسي از ميان ديگر نرم افزار هاي هم نوع خود مي باشد.
اين برنامه بوسيله يك هوش مصنوعي يك آي دي ياهو را به روبات پاسخگوي هوشمند تبديل مي كند.
كه به وسيله ي تنظيماتي كه كاربر بر روي بانك اطلاعاتي آن انجام ميدهد ميتواند آن را دريافت
كند و آنچه براي آن تعريف شده پاسخ دهيد. و اين برنامه با تمامي ورژن هاي ياهو مسنجر سازگاري دارد.
از توانايي مهمي كه اين برنامه دارد ميتوان برنامه را در سراسر جهان از آن استفاده نمود.
وروجك روبات ياهو يك هوش مصنوعي كه در سراسر جهان قابل استفاده است و داراي هيچ گونه محدوديتي از نظر منطقه اي ندارد
از مواردي كه ميتوان از اين برنامه استفاده كرد :
1 . ساخت روبات جوك و پيامك كه بوسيله شماره جوك ، جوك مقابل عدد را نمايش مي دهد.
مثلا اگر كاربري به آن آي دي در ياهو مسنجر خود عدد 1 را وارد كرد جوك شماره يك نمايش داده ميشود و ...
2. ساخت روبات خطاهاي مودم
كه كاربر وقتي خطاي مودم را وارد كرد آن را براي آن نمايش دهد
مثلا  :اگر كاربر 600 را وارد كرد نمايش دهد : اگر سيستم در حال شماره گيري باشد  و دوباره شماره گيري نماييد اين خطا نمايش داده مي شود
3 . مثلا براي سايت هاي مسدود شده براي آدرس هاي بعدي
مثلا اگر كاربر NewAdres را وارد كرد آدرس جديد و بدون مسدود بودن را براي كاربران نمايش دهد.

- نكته : در موارد گفته شده در بالا اين گونه تنظيمات در برنامه تعريف نشده و هر كاربري بسته به نوع سليقه خود آن را طراحي كند
-------------------------------------------------------------------------
تغييرات در اين نسخه :
تغييري در محيط برنامه و پوسته جديد
حذف كردن نمايش پسورد در برنامه
افزودن ارسال پيغام به درخواست ادد و تغيير توسط كار بر
امكان نمايش آواتار آي دي ها
پيشرفته كردن خاصيت رنگ تصادفي براي استفاده از تمامي رنگ ها ي موجود براي ياهو
افزودن قسمت كلمه عبور براي امنيت برنامه
و ...
وروجك روبات ياهو تنها يك نرم افزار ساده و كوچك نيست بلكه مي تواند توسط هر كاربري به يك شخصيت تبديل شود...

-------------------------
با  گذاشتن اين برنامه در سايت ها و وبلاگ هاي خود به صورت پست  يا بنر برنامه  ، اين برنامه ناچيز را به دوستان خود و آنان كه دوستشان داريد نيز معرفي  كنيد 
 
                                      ارادتمند شما ياسر شيخي

دانلود با لینک غیر مستقیم 
 دانلود با لینک مستقیم

----------


## sya256

متاسفانه اکثر لینک ها خراب شدند، ما که نتونستیم روباتی که دوستان نوشتند رو زیارت کنیم!

----------


## mafia5000

بچه ها کسی میتونه در باره ساخت پینگ واسه ربات مطلبی بزاره ؟ ممنون میشم

----------

