ورود

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



np.1400
May 2nd, 2017, 13:14
سلام
میخوام به جای ایمیل تایید عضویت ، پیام رو به تلگرام کاربر بفرستم
اما کدهای نمونه کار نمیکنه.

تو قسمت app تلگرام ثبت نام کردم و api_id و api_hash رو گرفتم
نوع برنامه هم web وارد کردم. آدرس دامنه هم دادم به تلگرام

کدم اینه:



<?php


// When you have your own client ID and secret, put them down here:
$CLIENT_ID = '16XXXX';
$CLIENT_SECRET = 'bdb59e314b7babef7a7ecd350baaXXXX';
$postData = array(
'number' => '+98919157XXXX', // Specify the recipient's number (NOT the gateway number) here.
'message' => 'Have a nice day! Loving you' // FIXME
);
$headers = array(
'Content-Type: application/json',
'X-WM-CLIENT-ID: '.$CLIENT_ID,
'X-WM-CLIENT-SECRET: '.$CLIENT_SECRET
);
$url = 'http://api.whatsmate.net/v1/telegram/single/message/0';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($postData));
$response = curl_exec($ch);
echo "Response: ".$response;
curl_close($ch);
?>



اما بعد از اینکه فایل از طرق آدرس دامنه اجرا میکنم عبارت زیرو برمیگردونه



Response: { "error_message": "Invalid client ID/secret" }


ممنون میشم راهنمایی کنید.

vpsman
May 2nd, 2017, 14:49
سلام
شما از طریق ربات نمیتونید به کاربر پیام بدید
تنها زمانی میشه که کاربر در ربات شما عضو باشد

HNet
May 2nd, 2017, 15:10
سلام
کاربران باید ربات شما start کرده باشن و شما باید موقع فعال سازی اون ها رو احراز هویت کنید، بعد از اون میتونید براشون پیام بفرستید.
بغیر از ربات راه حلی برای ارسال پیام در تلگرام برای تک کاربر وجود ندارد.

vpsman
May 2nd, 2017, 15:56
البته با lua میشه این کارو کرد و پیام فرستاد (به تعداد خیلی محدود و اینکه اعلام اسپم نکنن کاربرها)
ضمنا این چیزی که شما گذاشتی ارتباطی با تلگرام نداره و یه سایت واسطه هست (app تلگرام نادرسته)
برای اطلاع بیشتر به من پیام بده
https://telegram.me/samanzaare

(https://telegram.me/samanzaare)

np.1400
May 2nd, 2017, 17:03
همون طوری که دوستان گفتن ربات دو تا اشکال داره
یکی اینکه باید حتما کاربر تو ربات start زده باشه
یکی اینکه از طریق user_id میشه پیام داد نه از طریق شماره تلفن

پس ربات به درد من نمیخوره

من میخوام از طریق api خود تلگرام یا app به شماره موبایل کاربر پیام بدم بدون اینکه عضو جایی باشه.

حالا واسطه باشه هم مهم نیست فوقش مثل پیامک پنل میخریم ولی api باید داشته باشه دیگه

ممنون

shahinmq
May 2nd, 2017, 17:26
سلام

برای ارسال پیام از ربات همانطور که بقیه دوستان اشاره کردند ، کاربر باید ربات را استارت کرده باشد.

با استفاده از Cli هم اگر قصد ارسال داشته باشید ، باید شماره شخص را داشته باشید.

یک روش بهتون معرفی می کنم ، شاید بدردتون بخوره و شاید هم به موضوع درخواست شما مرتبط نباشه ولی احتمالا به عنوان یک پیشنهاد موثر بتونه جلوه کنه

در تلگرام (بات) چیزی به اسم deep linking داریم ، نمونه ی اون رو می تونید در لینک زیر ببینید :



https://core.telegram.org/bots#deep-linking


تا اینجا می تونید یک لینک قراربدید و مقدار start را با یک مقدار به عنوان مثال کد کاربری شخص پر شده ب عنوان تایید کننده به کاربر ارسال کنید.
تا اینجا شخصی که کلیک می کنه و وارد می شه ، اون مقدار را برای شما ارسال می کنه و شما می تونید متوجه بشید که اون شخص کاربر هستش.

اما اینجا با استفاده از این مورد که در لینک زیر قرار میدم ، می تونید از کاربر درخواست کنید که شماره ی خودش را برای شما ارسال کنه ، به صورت فایل contact :


https://core.telegram.org/bots/api#keyboardbutton


خب contact ارسال شده قطعا یک نام دارد و یک شماره و درصورتی که عضو تلگرام باشد ( ممکن است یک contact دیگری را ارسال کنند ) ، یک user_id هم دارد ، درصورتی که user_id ارسال کننده با شماره یکسان باشد ، درواقع شما ، شماره ی کاربر خودرا دارید :



https://core.telegram.org/bots/api#contact


البته خودمون تا بحال از این روش استفاده نکرده بودیم ، اما با دیدن تاپیک شما قطعا این مورد را تست خواهیم کرد.

موفق باشید

shahinmq
May 2nd, 2017, 18:31
مثالی که عرض کردم را پیاده سازی کردیم ، می تونید تست کنید :



https://t.me/devdebbot


ربات موقتی جهت تست ساخته و بعدا حذف می گردد.

با استارت اولیه ، شماره شما درخواست می گردد.که مشخصات شمارا بر می گرداند.

همچنین می تونید یکی از کسانی که در لیست شما هستند را انتخاب کنید و کاربر را Share کنید درون ربات و مشخصات اون کاربر هم بگیرید.(ابتدا وارد یکی از افراد درون لیستون می شید و وارد پروفایل اون شخص می شید ، درنهایت بر روی گزینه ی SHare کلیک می کنید و به ربات ارسال می کنید)

np.1400
May 2nd, 2017, 19:00
مثالی که عرض کردم را پیاده سازی کردیم ، می تونید تست کنید :



ربات موقتی جهت تست ساخته و بعدا حذف می گردد.

با استارت اولیه ، شماره شما درخواست می گردد.که مشخصات شمارا بر می گرداند.

همچنین می تونید یکی از کسانی که در لیست شما هستند را انتخاب کنید و کاربر را Share کنید درون ربات و مشخصات اون کاربر هم بگیرید.(ابتدا وارد یکی از افراد درون لیستون می شید و وارد پروفایل اون شخص می شید ، درنهایت بر روی گزینه ی SHare کلیک می کنید و به ربات ارسال می کنید)

کار جالبی بود.
اگه به حالت عادی نشد حتما همین کارو میکنم.

اما حالت عادی مد نظر من اینه:


با استفاده از Cli هم اگر قصد ارسال داشته باشید ، باید شماره شخص را داشته باشید.


من شماره ی موبایل کاربر رو میخوام بگیرم و به تلگرامش پیامی شامل کد تایید ارسال کنم
اگه میشه در مورد Cli توضیح بدید ممنون میشم

shahinmq
May 2nd, 2017, 19:13
کار جالبی بود.
اگه به حالت عادی نشد حتما همین کارو میکنم.

اما حالت عادی مد نظر من اینه:


من شماره ی موبایل کاربر رو میخوام بگیرم و به تلگرامش پیامی شامل کد تایید ارسال کنم
اگه میشه در مورد Cli توضیح بدید ممنون میشم


در Cli شما باید یک شماره را authorize کنید(مثل یک کاربر عادی) و در نهایت قابلیت هایی که در تلگرام (دکستاپ و ...)دارید در اون هم می تونید پیاده سازی کنید و بر روی متون ارسالی و هر نوع داده ی دیگری ، پردازش انجام بدید و پاسخ بدید (به صورت خودکار و با توجه به برنامه نویسی که انجام شده).
اطلاعی ندارم می تونید به شماره مورد نظر پیام ارسال کنید یا خیر ولی احتمال میدم ابتدا باید شماره را به عنوان یک Contact اضافه کنید و سپس ارسال کنید ولی بنده گاهی وقتا اجازه ی ارسال پیام در تلگرام به شماره هایی که آنها شماره ی من رو ندارن ، ندارم تا زمانی که آن شخص به بنده پیام بده (گاها این مشکل بوده)
برای استفاده از این مورد لینک زیر را ببینید که چه کار هایی می توانید انجام بدید :



https://core.telegram.org/methods


برنامه ی شما باید همیشه باز باشد (می تونید از سرورمجازی استفاده کنید).

یکی از همکارانم با استفاده از .net از این مورد استفاده کرده بود و در حدی که اطلاع داشتم و دیده بودم خدمتتون توضیح داده دادم.