نمایش نتایج 1 تا 4 از 4

نام تاپیک: ایجاد کلیدهای inline در ربات پیام رسان بله

  1. #1

    ایجاد کلیدهای inline در ربات پیام رسان بله

    سلام
    در حال پیاده سازی یه ربات توی پیام رسان بله هستم، هونطور که میدونید ربات ها عموما 2 نوع کلید دارن، یک نوع که میاد و زیر صفحه چت قرار میگیره ( ReplyKeyboardMarkup ) و نوع دیگه که داخل خود صفحه چت دکمه ها قرار میگیرن ( InlineKeyboardMarkup ).
    من با گزینه اول هیچ مشکلی ندارم و به درستی کلیدها نمایش داده میشه، اما زمانی که میخوام کلیدهای inline رو ارسال کنم با ارور 400 از طرف سرور بله مواجه میشم که میگه ریکوئست صحیح نیست.
    آدرس سایت مستندات بله: https://dev.bale.ai/api

    کلاس هایی که من ایجاد کردم:


    public class InlineKeyboardMarkup : IMarkup
    {
    public InlineKeyboardButton[][] inline_keyboard { get; set; }
    }


    public class InlineKeyboardButton
    {
    public string text { get; set; }


    public string url { get; set; }


    public string callback_data { get; set; }


    public string switch_inline_query { get; set; }


    public string switch_inline_query_current_chat { get; set; }


    public bool pay { get; set; }
    }


    و خود ساختار کلید:

    public static InlineKeyboardMarkup InlineHomeMenu
    {
    get
    {
    return new InlineKeyboardMarkup()
    {
    inline_keyboard = new InlineKeyboardButton[][]
    {
    new InlineKeyboardButton[]
    {
    new InlineKeyboardButton()
    {
    callback_data = "0",
    pay = false,
    text = "📝 ثبت نام ",
    url = "",
    switch_inline_query = "",
    switch_inline_query_current_chat = ""
    }
    },


    new InlineKeyboardButton[]
    {
    new InlineKeyboardButton()
    {
    callback_data = "1",
    pay = false,
    text = "📋 درخواست ",
    url = "",
    switch_inline_query = "",
    switch_inline_query_current_chat = ""
    }
    },


    new InlineKeyboardButton[]
    {
    new InlineKeyboardButton()
    {
    callback_data = "2",
    pay = false,
    text = "📄 رزومه ",
    url = "",
    switch_inline_query = "",
    switch_inline_query_current_chat = ""
    }
    },


    new InlineKeyboardButton[]
    {
    new InlineKeyboardButton()
    {
    callback_data = "3",
    pay = false,
    text = "☎️ ارتباط با ما",
    url = "",
    switch_inline_query = "",
    switch_inline_query_current_chat = ""
    }
    },


    new InlineKeyboardButton[]
    {
    new InlineKeyboardButton()
    {
    callback_data = "4",
    pay = false,
    text = "🎯 آموزش ",
    url = "",
    switch_inline_query = "",
    switch_inline_query_current_chat = ""
    }
    },


    new InlineKeyboardButton[]
    {
    new InlineKeyboardButton()
    {
    callback_data = "5",
    pay = false,
    text = "⚙️ مدیریت سیستم",
    url = "",
    switch_inline_query = "",
    switch_inline_query_current_chat = ""
    }
    }
    }
    };
    }
    }



    و سریالایز کردن کلید ها جهت ارسال به سرور:

    postData.Add("reply_markup", new JavaScriptSerializer().Serialize(obj.reply_markup) );


    دوستانی که تجربه کار با ربات دارن، ممنون میشم راهنمایی کنن.

  2. #2

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

    سلام
    با پیگیری های که انجام دادم با خود پشتیبانی بله، داکیومنت رو بروزرسانی کردن و چندتا کد ساده برای اینکار قرار دادن.
    خلاصه اینکه برای ارسال کاید اینلاین، فقط باید پارامترهای text و callback_data رو مقدار دهی و ارسال کنید و بقیه پارامترهایی که داخل داکیومنت هست رو اصلا نباید ارسال کنید ( نه مقدار و نه خود نام پارامتر رو )

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

    دوستان کسی تجربه ای نداره؟

  3. #3

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

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

  4. #4
    کاربر تازه وارد
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    Iran
    پست
    42

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

    نقل قول نوشته شده توسط hamed_benz مشاهده تاپیک
    سلام
    مشکل حل شد و فقط قرار میدم که اگر دوستان دیگری به مشکل بر خوردن، اینجا راه حل وجود داشته باشه.
    پیام رسان بله در حال حاظر با دو API داره کار میکنه، api قدیی که مختص به خودشون بوده و کار کردن باش هم کمی سخت بوده به نظر.
    اما تو api جدید، تا حد امکان تلاش کردن که روند کار رو شبیه به تلگرام کنن تا کاربرها مشتاق بشن بدون دشواری، بات های که روی تلگرام دارن رو، روی بله هم راه بندازن.
    اما بحث عدم دریافت آپدیت بعد از انتخاب یک کلید اینلاین.
    زمانی که شما ربات خودتون رو داخل بات فادر ایجاد میکنید، از شما درخواست میکنه که وب هووک رو هم ست کنید، کاری که باید انجام بشه این هست که شما این پیغام را نادیده بگیرید و به کمک api وب هووک رو ست کنید، همین.
    چون ثبت وب هووک با بات فادر باعث میشه که شما با api های قدیمی متصل بشید که از کلیدهای اینلاین به کمک Update پشتیبانی نمیکنه.
    آقا تشکر بابت راهنمایی کاربران
    من ربات رو با C#‎‎‎ ساختم و مشکلی ندارم جز اینکه سایز دکمه ها در حالت inline_keyboard کوچک میشن و متن ناقص دیده میشه و هیچ راهی برای حل این مشکل پیدا نکردم
    ضمنا resize_keyboard هم تاثیری در نتیجه نداره

    اما خود BotFather دکمه شیشه ای بزرگ داره

    اگر کسی میدونه چطور باید سایز دکمه ها رو افزایش داد ممنون میشم اطلاع بده.

    پیداش کردم:

    اگر کلید ها رو به این صورت تعریف کنید در یک خط چیده میشن:
    [[key1 , key2, key3 ]]

    اما اگر به این صورت تعریف کنید زیر هم چیده میشن:

    [[key1] , [ket2] , [key3]]

تاپیک های مشابه

  1. سوال: تفاوت Inline-block با inline و block در چیست ؟!
    نوشته شده توسط PHPOnline در بخش طراحی وب (Web Design)
    پاسخ: 3
    آخرین پست: پنج شنبه 06 آذر 1393, 12:39 عصر
  2. تابع inline
    نوشته شده توسط SilentCloud در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 4
    آخرین پست: پنج شنبه 14 دی 1391, 21:58 عصر
  3. سوال: inline in C#‎
    نوشته شده توسط slayermind در بخش C#‎‎
    پاسخ: 1
    آخرین پست: یک شنبه 11 مرداد 1388, 08:01 صبح
  4. inline
    نوشته شده توسط www.ilampro.com در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 2
    آخرین پست: سه شنبه 30 مهر 1387, 12:37 عصر
  5. برنامه ی اسمبلی به شکل inline
    نوشته شده توسط programming در بخش برنامه نویسی اسمبلی خانواده x86
    پاسخ: 1
    آخرین پست: سه شنبه 04 بهمن 1384, 01:44 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •