PDA

View Full Version : بهترین مکان برای قرار دادن ربات تلگرام



system32
سه شنبه 17 بهمن 1396, 13:45 عصر
سلام دوستان

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

باید بگم من از telegram.bot استفاده می کنم.

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

با تشکر

رامین مرادی
سه شنبه 17 بهمن 1396, 13:57 عصر
نیازی به ویندوز سرویس نیست فقط برنامتون باید ران باشه.
اگه آی پی ثابت داری میتونی رو سیستم خودتم بزاری اجرا بشه. ولی برا اینکه فکر خاموش روشن کردن سیستمت نباشی همون وی پی اس خوبه.

system32
سه شنبه 17 بهمن 1396, 14:32 عصر
نیازی به ویندوز سرویس نیست فقط برنامتون باید ران باشه.
اگه آی پی ثابت داری میتونی رو سیستم خودتم بزاری اجرا بشه. ولی برا اینکه فکر خاموش روشن کردن سیستمت نباشی همون وی پی اس خوبه.

ممنون از پاسخ شما دوست عزیز

توی یه اموزش دیدم طرف اومد کد رو گذاشت تو فایل global.asax و بعد گفت یه بار که سایتتون رو باز کنید تا وقتی که هاست شما خاموش نشه ربات شما فعاله. آیا می تونم از این شیوه استفاده کنم و فقط یه وب هاست معمولی تهیه کنم و به این صورت رباتم رو اجرا کنم یا بهتره از همون vps استفاده کنم؟

رامین مرادی
سه شنبه 17 بهمن 1396, 15:19 عصر
آها اگه منظورتون اینه رو هاست باشه که باید ssl داشته باشید. شاید براتون سخت باشه. اما اگه نه هاست دارید و نه وی پی اس و نه آی پی ثابت. تو همون کنسول رباتتون رو طراحی کنید و اجرا کنید. همین .کار خاصی نیاز نیست. اگه فرصت کنم یه نمونه میزارم براتون.

رامین مرادی
سه شنبه 17 بهمن 1396, 15:31 عصر
اینم کد یک ربات ساده



class Program
{
private static string Token = "توکن ربات خود را اینجا وارد کنید";
private static ReplyKeyboardMarkup mainmenu;

static void Main(string[] args)
{
mainmenu = new ReplyKeyboardMarkup()
{
Keyboard = new[] { new[] { new KeyboardButton("تماس با ما") }, new[] { new KeyboardButton("درباره ما") } },
OneTimeKeyboard = true,
ResizeKeyboard = true
};
Task.Run(() => RunBot());
Console.ReadLine();
}
public static async Task RunBot()
{
try
{
var bot = new TelegramBot(Token);
var me = await bot.MakeRequestAsync(new GetMe());
Console.WriteLine("User Name is: {0}", me.Username);
long offcet = 0;
while (true)
{
var updates = await bot.MakeRequestAsync(new GetUpdates() { Offset = offcet });
Console.WriteLine("Update Count is: {0}", updates.Count());
Console.WriteLine("--------------------------------------------------------------");

foreach (var update in updates)
{
offcet = update.UpdateId + 1;
var Text = update.Message.Text;
if (Text == "/start")
{
var req = new SendMessage(update.Message.Chat.Id, "گزینه مورد نظر را انتخاب نمایید") { ReplyMarkup = mainmenu };
await bot.MakeRequestAsync(req);
continue;
}
else if (Text != null && Text.Contains("تماس با ما"))
{
string msg = "با ما تماس بگیرید";

var req = new SendMessage(update.Message.Chat.Id, msg) { ReplyMarkup = mainmenu };
await bot.MakeRequestAsync(req);
continue;
}

else if (Text != null && Text.Contains("درباره ما"))
{
string msg = @"درباره ما ....";
var req = new SendMessage(update.Message.Chat.Id, msg) { ReplyMarkup = mainmenu };
await bot.MakeRequestAsync(req);
continue;
}
}
}
}
catch (Exception ex)
{
Console.WriteLine("ERROR: " + ex.Message);
}
}
}




فقط از ناگت NetTelegramBotApi رو نصب کنید. از این قسمت : منوی تولز->ناگت پکیز منیجر

system32
چهارشنبه 18 بهمن 1396, 08:53 صبح
اینم کد یک ربات ساده



class Program
{
private static string Token = "توکن ربات خود را اینجا وارد کنید";
private static ReplyKeyboardMarkup mainmenu;

static void Main(string[] args)
{
mainmenu = new ReplyKeyboardMarkup()
{
Keyboard = new[] { new[] { new KeyboardButton("تماس با ما") }, new[] { new KeyboardButton("درباره ما") } },
OneTimeKeyboard = true,
ResizeKeyboard = true
};
Task.Run(() => RunBot());
Console.ReadLine();
}
public static async Task RunBot()
{
try
{
var bot = new TelegramBot(Token);
var me = await bot.MakeRequestAsync(new GetMe());
Console.WriteLine("User Name is: {0}", me.Username);
long offcet = 0;
while (true)
{
var updates = await bot.MakeRequestAsync(new GetUpdates() { Offset = offcet });
Console.WriteLine("Update Count is: {0}", updates.Count());
Console.WriteLine("--------------------------------------------------------------");

foreach (var update in updates)
{
offcet = update.UpdateId + 1;
var Text = update.Message.Text;
if (Text == "/start")
{
var req = new SendMessage(update.Message.Chat.Id, "گزینه مورد نظر را انتخاب نمایید") { ReplyMarkup = mainmenu };
await bot.MakeRequestAsync(req);
continue;
}
else if (Text != null && Text.Contains("تماس با ما"))
{
string msg = "با ما تماس بگیرید";

var req = new SendMessage(update.Message.Chat.Id, msg) { ReplyMarkup = mainmenu };
await bot.MakeRequestAsync(req);
continue;
}

else if (Text != null && Text.Contains("درباره ما"))
{
string msg = @"درباره ما ....";
var req = new SendMessage(update.Message.Chat.Id, msg) { ReplyMarkup = mainmenu };
await bot.MakeRequestAsync(req);
continue;
}
}
}
}
catch (Exception ex)
{
Console.WriteLine("ERROR: " + ex.Message);
}
}
}




فقط از ناگت NetTelegramBotApi رو نصب کنید. از این قسمت : منوی تولز->ناگت پکیز منیجر

ممنونم از شما دوست عزیز

ولی من کد رو نوشتم و الان می خوام رباتم رو یه جایی آپ کنم که 24 ساعته در دسترس باشه (روی هاست) می خواستم بدونم باید از vps استفاده کنم یا از همون هاست های معمولی هم می شه استفاده کرد؟

رامین مرادی
چهارشنبه 18 بهمن 1396, 10:22 صبح
اینی که من براتون قرار دادم رو ویندوز کار میکنه چون یه پروژه کنسول هست. پس یا رو سیستم خودتون اجرا کنید. یا اینکه روی سرور مجازی یا واقعی که 24 ساعته روشن باشه.

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

system32
چهارشنبه 18 بهمن 1396, 11:11 صبح
اینی که من براتون قرار دادم رو ویندوز کار میکنه چون یه پروژه کنسول هست. پس یا رو سیستم خودتون اجرا کنید. یا اینکه روی سرور مجازی یا واقعی که 24 ساعته روشن باشه.

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

سلام مجدد.

من قصد دارم رباتم رو آپ کنم روی هاست حالا می خوام بدونم:
1- بیام به صورت ویندوز سرویس پیاده سازیش کنم و روی vps بزارمش.
2- یا می تونم اونو روی یه هاست معمولی بزارم. البته نمی دونم دقیقا چطور باید این کار رو انجام بدم

البته من نمی خوام از Webhook استفاده کنم و فقط می خوام از کامپوننت telegram.bot استفاده کنم که یه رویداد برای دریافت پیام داره که مدام چک می کنه پیامی اومده و در صورت دریافت پیام جواب مناسب رو می ده.

رامین مرادی
چهارشنبه 18 بهمن 1396, 11:29 صبح
هاست یه چیز دیگس .وی پی اس هم یه چیز دیگه. روی هاست سایت آپلود میکنن یا کارای مشابه.
وی پی اس هم یه سیستم مجازیه. عین همین ویندوزی که رو سیستم خودتون در حال اجراس. که اونو میتونید روش ومپ یا زمپ یا موارد مشابه رو نصب کنید و سایتتون رو آپلود کنید که هم به عنوان هاست ازش استفاده کنید هم روش ویندوز هم داره که میتونید هرکاری تو سیستم خودتون انجام میدید رو، رو اینم انجام بدید. الان وی پی اس دارید این کدی که من گذاشتم رو کپی کنید توش بعد اجرا کنید. شما که نمیخواید از وب هوک استفاده کنید پس رباتتون رو باید ویندوزی بنویسید و توی وی پی اس بزارید و اجرا کنید. ربات رو هم میتونید هم بصورت ویندوز سرویس درست کنید هم به صورت کنسول هم به صورت ویندوز فرم. همش بستگی به خودتون داره. ساده ترین همین کنسول هست.

system32
چهارشنبه 18 بهمن 1396, 11:36 صبح
دوست عزیز ممنون از جواب های خوب شما

فقط یه سوال دیگه بپرسم توی پست قبلی هم گفتم می خوام نظرتون رو درباره این شیوه بپرسم:
توی یه اموزش دیدم طرف اومد کد رو گذاشت تو فایل global.asax و بعد گفت یه بار که سایتتون رو باز کنید تا وقتی که هاست شما خاموش نشه ربات شما فعاله. آیا می تونم از این شیوه استفاده کنم و فقط یه وب هاست معمولی تهیه کنم و به این صورت رباتم رو اجرا کنم یا بهتره از همون vps استفاده کنم؟

رامین مرادی
چهارشنبه 18 بهمن 1396, 12:02 عصر
برا هاست باید دامنتون ssl داشته باشه. یه بار سرچ کنید راجب این موضوع. هاست هم ارزونتر درمیاد نسبت به وی پی اس.فقط باید ssl رو داشته باشید که فک کنم یکی از سایتا 6 ماه رایگان میداد بازم سرچ کنید.

nunegandom
یک شنبه 22 بهمن 1396, 22:17 عصر
با سلام صرفا جهت اطلاع عرض میکنم
بعضی هاست ها هستند که بعد از اولین درخواست مثلا تا ۳۰ دقیقه سایت رو فعال میکنن و تا درخواست بعدی کلا اپلیکیشن غیر فعال میشه و وقفه میوفته تا درخواست بعدی که دوباره ران بشه!
اینم در نظر داشته باشید (mihanwebhost) این مدلیه
ssl رایگان رو از comodo میتونید ۹۰ روزه بگیرید یه همچین آفری داشت
بعدشم خدا بزرگه :لبخند:
در کل اگر امکانش هست بعد از بارگذاری ربات اطلاعات بگذارید که از کجا هاست گرفتید و مشکلاتشم بگید(کمتر متضرر بشیم) با سپاس:خجالت:

حسین.کاظمی
دوشنبه 23 بهمن 1396, 11:47 صبح
سلام دوستان

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

باید بگم من از telegram.bot استفاده می کنم.

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

با تشکر

باسلام
دوست عزیز
اولا وی پی اس و هاست کلا فرق دارند...
دوما سیاست شما و کد نویسی شما می خایید بروی کدوم بستر باشد(ویندوز یا وب)؟؟؟(اینو شما باید تعیید کنید نه ما تا بهتر و بشتر بشه راهنماییتون کرد)

اگر ویندوزی باشید نیازی به SSL نیست فقط برنامتون باید RUN باشد
ولی
اگر سمت وب باشه باید یک هاست و دامین +SSL بخرید...

موفق باشید