سلام به دوستان عزیز
من به تازگی به استانبول سفر کردم و اونجا با مشکل انگلیسی بلد نبودن اکثر ترک ها مواجه شدم. تازه مسئله بعدی این بود که خیلی از جاها دستگاه ها یا تابلوها متن هاش فقط ترکی بود و ترجمه انگلیسی نداشت. جالبه بدونید سیم کارت ترک تلکام من و نرم افزار اون هم کاملا ترکی بود و به سختی تونستم ازش استفاده کنم. اما یه راهکار عالی وجود داره که بعد از پیدا کردنش کارم خیلی راحت تر شد.
می گن آب در کوزه و ما گرد جهان می گردیم!
سلام به دوستان گرامی
اگر به دنبال یک روش ساده و سریع برای تنظیم زمان سرور Centos خودتون هستید، آموزشی که براتون می ذارم کمکتون می کنه که توی دو دقیقه هم timezone سرورتون رو تنظیم کنید و هم سرور رو به یک NTP سرور یا سرور تنظیم خودکار زمان متصل کنید.
عمل تبدیل متن آدرس به مختصات جغرافیایی Geocoding نام دارد. چند وب سرویس در حال حاضر برای این موضوع موجود هستند که معروفترین آنها Google Map API هست. به دلیل اینکه کاربران فارسی زبان نیاز به وب سرویسی دارند که با آدرس های فارسی کار کند من Nominatim رو پیشنهاد می کنم
این عمل عکس عمل Geocoding است و Reverse Geocoding نام دارد
دوستان گرامی بی تردید همه شما سرویس قدرتمند گوگل مپ رو می شناسید
در روزهای اخیر من با چند سرویس جالب نقشه آنلاین آشنا شدم که اینجا فهرست وار معرفیشون می کنم
آدرس: https://yandex.com/maps/
آدرس: www.openstreetmap.org
آدرس: wikimapia.org
ممکنه شما هم موقع نوشتن بات های تلگرامی با مدیریت منو ها یا همون کیبورد ها با مشکل مواجه شده باشید
منظورم از کیبورد همون نوع قدیمی کیبورد تلگرامه نه inline_keyboard ها
توضیح درباره کیبورد ها اینکه پس از ارسال اونها به سمت کاربر چند انتخاب وجود داره
1- کیبورد پس از کلیک روی کلیدش همچنان پدیدار باقی بمونه
2- کیبود پس از کلیک روی کلیدش ناپدید بشه (ولی همچنان با کلیک روی آیکن مخصوصش فعال بشه)
3- !! بعد از کلیک روی کلیدش مستقیما کیبورد نابود بشه (این امکان وجود نداره)
معمولا برنامه نویسها فورا راهکار روش اول و دوم رو یاد می گیرند:
برای روش اول کافیه هیچ پارامتری همراه کیبورد ارسال نکنید
و برای روش دوم باید مثل نمونه زیر مقدار one_time_keyboard رو برابر true قرار بدین. البته برای حالت قبل می تونید این مقدار رو برابر false قرار بدین.
$.sendMessage("لطفا با فشردن کلید زیر شماره خود را ارسال کنید",
{
reply_markup:JSON.stringify({
keyboard: [
[{ text: 'ارسال شماره همراه من', request_contact: true }]
],
resize_keyboard:true,
one_time_keyboard:true
})
});
اما بریم سر اصل مطلب یعنی
برای این منظور لازمه که یک درخواست ارسال پیام (sendMessage) جدید ارسال کنید و امکان این درخواست در پیام حاوی کیبورد وجود نداره
و لازمه که در پیام جدید در پارامتر reply_markup مقدار remove_keyboard رو برابر true قرار بدید
دقت کنید که این message حتما باید متن داشته باشه حتی یک نقطه!
مثال این درخواست رو با NodeJS یا همون جاوا اسکریپت و با استفاده از ماژول Naltox در ادامه می بینید
$.sendMessage("متن پیام",
{
reply_markup:JSON.stringify({
remove_keyboard : true
})
});
اگه شما هم کلی تلاش کردید و با تغییر دادن Owner دایرکتوری ها موفق به کار با فایل ها در Centos7 نشدید بدونین که مشکل از SELinux هست.
SELinux دسترسی رو به کلیه دایرکتوری ها و فایل های دارای دسترسی 777 و 755 محدود می کنه
دستورات زیر مشکل من رو حل کرد
chcon -R -t httpd_sys_content_t /path/to/www chcon -R -t httpd_sys_content_rw_t /path/to/www/dir/for/rw
chcon -R --type httpd_sys_rw_content_t /path/to/your/directory
سلام به همه دوستان عزیز
اگه شما هم مثل من برای انتقال داده هاتون مرتب از JSON ها استفاده می کنید و مرتب به صورت دستی برای ایجاد prototype ها JSON می سازید وب سایت زیر می تونه کمک خوبی باشه که JSON ها تون خطا نداشته باشه
امتحان کنید: