سورس ربات | 𝔹𝕆𝕋𝕊𝕆ℝℂ𝔼
#آموزش json ➖➖➖➖➖➖➖➖ معرفی نام json از عبارت JavaScript ObjectNotation می باشد. ء json سینتکسی برای ذخیره و تبدیل اطلاعات متنی می باشد و بسیار شبیه xml است. ء json از xml کوچکتر، ولی سریعتر و همچنین راحت تر پردازش می شود. مثال json { "employees": […
این آموزش ادامه داره و سعی میکنیم در چند قسمت،به همین شکل کوتاه و ساده...شما رو با json و محوه عملکردش و کاربردش آشنا کنیم.
#آموزش json
ادامه
➖➖➖➖➖➖➖➖
دستورات
ساختار دستورات json زیر مجموعه ای از ساختار دستورات جاوا اسکریپت (JavaScript) است.
قوانین یا همان گرامر json
گرامر یا ساختار دستورات json زیر مجموعه ای از ساختار ایجاد شیء در جاوا اسکریپت (JavaScript) است
داده ها به صورت زوج مقدار/نام هستند.
داده ها با کاما از یکدیگر جدا می شوند و علامت آکولاد برای نگه داشتن اشیاء بکار می رود.
از براکت برای نگه داشتن آرایه استفاده می شود.
زوج مقدار / نام در json
داده های json به صورت زوج های مقدار / نام نوشته میشوند.
زوج مقدار / نام شامل یک نام فیلد ( در دابل کوتیشن )، است که بعد از آن یک دو نقطه می آید و بعد از دو نقطه مقدار فیلد ذکر می شود.
به مثال توجه کنید:
"firstName" : "Amir"
فهم این ساختار بسیار ساده است
و ...
این گونه مقداردهی شبیه عبارت های جاوا اسکریپت (JavaScript) است. 👇🏼
firstName = "Amir"
مقادیر json
مقادیر json می تواند
عددی باشد (عدد صحیح یا اعشار)
رشته ای باشد (در دابل کوتیشن قرار می گیرد)
منطقی یا بولین باشد (true یا false)
آرایه باشد (داخل براکت قرار می گیرد)
شیء باشد (داخل آکولاد تعریف می شود)
تهی یا null باشد.
اشیاء json
اشیاء json داخل آکولاد نوشته می شوند.
اشیاء می تواند شامل چندین زوج مقدار / نام باشد
{ "firstName":"Amir" , "lastName":"Admin" }
این سینتکس نیز ساده
و ...
معادل عبارت های جاوا اسکریپت (JavaScript) می باشد 👇🏼
firstName = "Amir";
lastName = "Admin";
آرایه های json
آرایه های json داخل براکت نوشته می شوند.
یک آرایه می تواند حاوی چند شیء باشد:
{
"employees":
{ "firstName":"Amir" , "lastName":"Admin" },
{ "firstName":"Erick" , "lastName":"Botsorce" },
{ "firstName":"Amir" , "lastName":"Kiani" }
}
در ساختار بالا
شیء "employees" در آرایه حاوی سه شیء است. هر شیء یک رکورد از کارمندان (با نام و نام خانوادگی ) است.
ء json از ساختار دستورات JavaScript استفاده می کند.
به این خاطر json از سینتکس جاوا اسکریپت (JavaScript) استفاده می کند که اسکریپت (JavaScript) می تواند آرایه ای از اشیاء را ایجاد نماید و آن ها را مانند مثال زیر مقدار دهی کند،توجه کنید 👇🏼
var employees = [
{ "firstName":"Amir" , "lastName":"Admin" },
{ "firstName":"Erick" , "lastName":"Botsorce" },
{ "firstName":"Amir" , "lastName": "Kiani" }
];
مقدار اولین ورودی آرایه را می توان به صورت زیر به دست آورد:
employees[0].firstName + " " + employees[0].lastName;
مقدار برگشتی و پاسخ به اینصورت خواهد بود :
Amir Admin
مقدار می تواند مانند زیر تغییر نماید:
employees[0].firstName = "Ali";
خروجی کد بالا به اینصورت میباشد
Create Object from JSON String
Original name: Amir Admin
New name: Ali Admin
📕 در آموزش بعدی خواهید آموخت چگونه متن json را به شیء جاوا اسکریپت تبدیل نمایید.
➖➖➖➖➖➖➖➖
@BotSorce
ادامه
➖➖➖➖➖➖➖➖
دستورات
ساختار دستورات json زیر مجموعه ای از ساختار دستورات جاوا اسکریپت (JavaScript) است.
قوانین یا همان گرامر json
گرامر یا ساختار دستورات json زیر مجموعه ای از ساختار ایجاد شیء در جاوا اسکریپت (JavaScript) است
داده ها به صورت زوج مقدار/نام هستند.
داده ها با کاما از یکدیگر جدا می شوند و علامت آکولاد برای نگه داشتن اشیاء بکار می رود.
از براکت برای نگه داشتن آرایه استفاده می شود.
زوج مقدار / نام در json
داده های json به صورت زوج های مقدار / نام نوشته میشوند.
زوج مقدار / نام شامل یک نام فیلد ( در دابل کوتیشن )، است که بعد از آن یک دو نقطه می آید و بعد از دو نقطه مقدار فیلد ذکر می شود.
به مثال توجه کنید:
"firstName" : "Amir"
فهم این ساختار بسیار ساده است
و ...
این گونه مقداردهی شبیه عبارت های جاوا اسکریپت (JavaScript) است. 👇🏼
firstName = "Amir"
مقادیر json
مقادیر json می تواند
عددی باشد (عدد صحیح یا اعشار)
رشته ای باشد (در دابل کوتیشن قرار می گیرد)
منطقی یا بولین باشد (true یا false)
آرایه باشد (داخل براکت قرار می گیرد)
شیء باشد (داخل آکولاد تعریف می شود)
تهی یا null باشد.
اشیاء json
اشیاء json داخل آکولاد نوشته می شوند.
اشیاء می تواند شامل چندین زوج مقدار / نام باشد
{ "firstName":"Amir" , "lastName":"Admin" }
این سینتکس نیز ساده
و ...
معادل عبارت های جاوا اسکریپت (JavaScript) می باشد 👇🏼
firstName = "Amir";
lastName = "Admin";
آرایه های json
آرایه های json داخل براکت نوشته می شوند.
یک آرایه می تواند حاوی چند شیء باشد:
{
"employees":
{ "firstName":"Amir" , "lastName":"Admin" },
{ "firstName":"Erick" , "lastName":"Botsorce" },
{ "firstName":"Amir" , "lastName":"Kiani" }
}
در ساختار بالا
شیء "employees" در آرایه حاوی سه شیء است. هر شیء یک رکورد از کارمندان (با نام و نام خانوادگی ) است.
ء json از ساختار دستورات JavaScript استفاده می کند.
به این خاطر json از سینتکس جاوا اسکریپت (JavaScript) استفاده می کند که اسکریپت (JavaScript) می تواند آرایه ای از اشیاء را ایجاد نماید و آن ها را مانند مثال زیر مقدار دهی کند،توجه کنید 👇🏼
var employees = [
{ "firstName":"Amir" , "lastName":"Admin" },
{ "firstName":"Erick" , "lastName":"Botsorce" },
{ "firstName":"Amir" , "lastName": "Kiani" }
];
مقدار اولین ورودی آرایه را می توان به صورت زیر به دست آورد:
employees[0].firstName + " " + employees[0].lastName;
مقدار برگشتی و پاسخ به اینصورت خواهد بود :
Amir Admin
مقدار می تواند مانند زیر تغییر نماید:
employees[0].firstName = "Ali";
خروجی کد بالا به اینصورت میباشد
Create Object from JSON String
Original name: Amir Admin
New name: Ali Admin
📕 در آموزش بعدی خواهید آموخت چگونه متن json را به شیء جاوا اسکریپت تبدیل نمایید.
➖➖➖➖➖➖➖➖
@BotSorce
#آموزش json
ادامه ...
نحوه استفاده
تبدیل متن json به شیء جاوا اسکریپت (JavaScript)
یکی از استفاده های بسیار رایج json واکشی داده های سرویس دهنده وب ( به عنوان یک فایل یا یک HttpRequest ) و تبدیل داده های json به اشیاء جاوا اسکریپت (JavaScript) است.
دقیقا همان استفاده ای که در وب سرویسهای رباتها از json میشود
که از این طریق می توان از این داده ها در صفحات وب استفاده کرد
برای سادگی و درک بهتر ، می توان این را با استفاده از یک رشته به عنوان ورودی (به جای فایل) نمایش داد.
به مثال زیر توجه کنید
مثال json
شیء از رشته
با استفاده از سینتکس json یک رشته جاوا اسکریپت ایجاد نمایید :
var txt = '{ "employees" : ' +
'{ "firstName":"Amir" , "lastName":"Admin" },' +
'{ "firstName":"Erick" , "lastName":"Botsorce" },' +
'{ "firstName":"Amir" , "lastName":"Kiani" } }';
از آنجایی که سینتکس json زیر مجموعه ای از سینتکس جاوا اسکریپت (JavaScript) است، با استفاده از تابع ()eval می توانیم متن json را به شیء جاوا اسکریپت تبدیل کنیم.
با استفاده از تابع ()eval می توانیم از کامپایلر جاوا اسکریپت (JavaScript) برای تفسیر (parse) متن json استفاده کنیم و شیء جاوا اسکریپت ایجاد کنیم. اشیاء باید در پرانتز محصور شوند تا از خطا جلوگیری شود:
var obj = eval ("(" + txt + ")");
از جاوا اسکریپت در صفحات وب خود استفاده کنید:
مثال (آموزش json - نحوه استفاده)
<p>
First Name: <span id="fname"></span><br />
Last Name: <span id="lname"></span><br />
</p>
<script>
document.getElementById("fname").innerHTML = obj.employees1.firstName;
document.getElementById("lname").innerHTML = obj.employees1.lastName;
</script>
خروجی اسکریپت بالا
Create Object fron JSON String
First Name: Erick
Last Name: Botsorce
تابع ()eval قادر است تا هر کد جاوا اسکریپتی را کامپایل و اجرا نماید. این ممکن است یک رخنه امنیتی محسوب شود.
استفاده از JSON parser برای تبدیل متن json به شیء جاوا اسکریپت (JavaScript) امن تر است. JSON parser تنها شیء json را تشخیص می دهد و اسکریپت ها را کامپایل نمی کند.
در مرورگرهایی که از json پشتیبانی می کنند، JSON parser ها نیز سریعتر هستند.
ء json در تمام مرورگرهایی که از استاندارد ECMAScript یا همان جاوا اسکریپت پشتیبانی می کنند، پشتیبانی می شود.
پشتیبانی مرورگرها پشتیبانی نرم افزارهای وب
Firefox 3.5
Internet Explorer8
Chrome
Opera 10
Safari 4
jQueryYahoo UIPrototypeDojoECMAScript 1.5
برای مرورگرهای قدیمی، کتابخانه جاوا اسکریپت در لینک کلیک کنید
وجود دارد.
فرمت json ابتدا توسط Douglas Crockford معرفی شد.
➖➖➖➖➖➖➖➖
در آینده بیشتر با json آشنا خواهیم شد....
@BotSorce
ادامه ...
نحوه استفاده
تبدیل متن json به شیء جاوا اسکریپت (JavaScript)
یکی از استفاده های بسیار رایج json واکشی داده های سرویس دهنده وب ( به عنوان یک فایل یا یک HttpRequest ) و تبدیل داده های json به اشیاء جاوا اسکریپت (JavaScript) است.
دقیقا همان استفاده ای که در وب سرویسهای رباتها از json میشود
که از این طریق می توان از این داده ها در صفحات وب استفاده کرد
برای سادگی و درک بهتر ، می توان این را با استفاده از یک رشته به عنوان ورودی (به جای فایل) نمایش داد.
به مثال زیر توجه کنید
مثال json
شیء از رشته
با استفاده از سینتکس json یک رشته جاوا اسکریپت ایجاد نمایید :
var txt = '{ "employees" : ' +
'{ "firstName":"Amir" , "lastName":"Admin" },' +
'{ "firstName":"Erick" , "lastName":"Botsorce" },' +
'{ "firstName":"Amir" , "lastName":"Kiani" } }';
از آنجایی که سینتکس json زیر مجموعه ای از سینتکس جاوا اسکریپت (JavaScript) است، با استفاده از تابع ()eval می توانیم متن json را به شیء جاوا اسکریپت تبدیل کنیم.
با استفاده از تابع ()eval می توانیم از کامپایلر جاوا اسکریپت (JavaScript) برای تفسیر (parse) متن json استفاده کنیم و شیء جاوا اسکریپت ایجاد کنیم. اشیاء باید در پرانتز محصور شوند تا از خطا جلوگیری شود:
var obj = eval ("(" + txt + ")");
از جاوا اسکریپت در صفحات وب خود استفاده کنید:
مثال (آموزش json - نحوه استفاده)
<p>
First Name: <span id="fname"></span><br />
Last Name: <span id="lname"></span><br />
</p>
<script>
document.getElementById("fname").innerHTML = obj.employees1.firstName;
document.getElementById("lname").innerHTML = obj.employees1.lastName;
</script>
خروجی اسکریپت بالا
Create Object fron JSON String
First Name: Erick
Last Name: Botsorce
تابع ()eval قادر است تا هر کد جاوا اسکریپتی را کامپایل و اجرا نماید. این ممکن است یک رخنه امنیتی محسوب شود.
استفاده از JSON parser برای تبدیل متن json به شیء جاوا اسکریپت (JavaScript) امن تر است. JSON parser تنها شیء json را تشخیص می دهد و اسکریپت ها را کامپایل نمی کند.
در مرورگرهایی که از json پشتیبانی می کنند، JSON parser ها نیز سریعتر هستند.
ء json در تمام مرورگرهایی که از استاندارد ECMAScript یا همان جاوا اسکریپت پشتیبانی می کنند، پشتیبانی می شود.
پشتیبانی مرورگرها پشتیبانی نرم افزارهای وب
Firefox 3.5
Internet Explorer8
Chrome
Opera 10
Safari 4
jQueryYahoo UIPrototypeDojoECMAScript 1.5
برای مرورگرهای قدیمی، کتابخانه جاوا اسکریپت در لینک کلیک کنید
وجود دارد.
فرمت json ابتدا توسط Douglas Crockford معرفی شد.
➖➖➖➖➖➖➖➖
در آینده بیشتر با json آشنا خواهیم شد....
@BotSorce
Forwarded from قوانین من⚖️
⚖️از قوانین کشورت با خبر باش⚖️
🔹کانال قوانین مدنی ایران و عرفهای جامعه
🔸وکیل خودت باش⚖️
قوانین جدید و قدیم⚫️🔴
⁉️پرسش و پاسخ‼️
کانال تازه تأسیس @law_myself
🔹کانال قوانین مدنی ایران و عرفهای جامعه
🔸وکیل خودت باش⚖️
قوانین جدید و قدیم⚫️🔴
⁉️پرسش و پاسخ‼️
کانال تازه تأسیس @law_myself
Forwarded from سورس ربات | 𝔹𝕆𝕋𝕊𝕆ℝℂ𝔼
@BotSorce_Tabchi.rar
70.5 KB
◾️سورس ربات تبچی lua
◾️طریقه نصب و نحوه استفاده،بطور کامل در فایل README.txt توضیح داده شده.
▪️رمز فایل :
@botsorce
▪️به حروف کوچک دقت کنید☝️🏼
#درخواستی
➖➖➖➖➖➖➖➖
@BotSorce
◾️طریقه نصب و نحوه استفاده،بطور کامل در فایل README.txt توضیح داده شده.
▪️رمز فایل :
@botsorce
▪️به حروف کوچک دقت کنید☝️🏼
#درخواستی
➖➖➖➖➖➖➖➖
@BotSorce
👍1
#آموزش
@BotSorce
➖➖➖➖➖➖➖➖
◾️ طریقه سورس نویسی یک ربات بسیار ساده با دکمه شیشه ای
توکن خودتون رو بجای ** وارد کنید
آیدی عددی ادمین رو در این قسمت وارد کنید
Start-Source
Panel
@BotSorce
➖➖➖➖➖➖➖➖
◾️ طریقه سورس نویسی یک ربات بسیار ساده با دکمه شیشه ای
<?php
ob_start();
define('API_KEY','********');
توکن خودتون رو بجای ** وارد کنید
$admin = 00000000;
آیدی عددی ادمین رو در این قسمت وارد کنید
$update = json_decode(file_get_contents('php://input'));
$from_id = $update->message->from->id;
$name = $update->message->from->first_name;
$chat_id = $update->message->chat->id;
$chatid = $update->callback_query->message->chat->id;
$data = $update->callback_query->data;
$text = $update->message->text;
$message_id = $update->callback_query->message->message_id;
$message_id_feed = $update->message->message_id;
function coding($method,$datas=[]){
$url = "https://api.telegram.org/bot".API_KEY."/".$method;
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_RETURNTRANSFER,true); curl_setopt($ch,CURLOPT_POSTFIELDS,$datas);
$res = curl_exec($ch);
if(curl_error($ch)){
var_dump(curl_error($ch));
}else{
return json_decode($res);
}
}
Start-Source
if(preg_match('/^\/([Ss]tart)/',$text)){
coding('sendMessage',[
'chat_id'=>$chat_id,
'text'=>"سلام انتخاب کنید",
'parse_mode'=>'html', 'reply_markup'=>json_encode([
'inline_keyboard'=>[
[
['text'=>' متن دکمه شیشه ای ','callback_data'=>'first']
]
]
])
]);
}
elseif ($data == "first") {
coding('editMessagetext',[
'chat_id'=>$chatid,
'message_id'=>$message_id,
'text'=>"Developer : @Botsorce",
'parse_mode'=>'html',
'reply_markup'=>json_encode([
'inline_keyboard'=>[
[
['text'=>"ورود به کانال",url=>"https://t.me/Botsorce"]
]
]
])
]);
}
Panel
elseif(preg_match('/^\/([Pp]anel)/',$text) and $from_id == $admin){
$user = file_get_contents('members.txt');
$member_id = explode("\n",$user);
$member_count = count($member_id) -1;
coding('sendMessage',[
'chat_id'=>$chat_id,
'text'=>"تعداد کل اعضا: $member_count",
'parse_mode'=>'HTML'
]);
}
unlink("error_log");
$user = file_get_contents('members.txt');
$members = explode("\n",$user);
if (!in_array($chat_id,$members)){
$add_user = file_get_contents('members.txt');
$add_user .= $chat_id."\n";
file_put_contents('members.txt',$add_user);
}
?>
elseif(preg_match('/^\/([Ss]tats)/',$text) and $from_id == $admin){
$user = file_get_contents('members.txt');
$member_id = explode("\n",$user);
$member_count = count($member_id) -1;
coding('sendMessage',[
'chat_id'=>$chat_id,
'text'=>"تعداد کل اعضا: $member_count",
'parse_mode'=>'HTML'
]);
}
unlink("error_log");
$user = file_get_contents('members.txt');
$members = explode("\n",$user);
if (!in_array($chat_id,$members)){
$add_user = file_get_contents('members.txt');
$add_user .= $chat_id."\n";
file_put_contents('members.txt',$add_user);
}
?>Forwarded from سورس ربات | 𝔹𝕆𝕋𝕊𝕆ℝℂ𝔼
♦️حذف فضای خالی قبل و بعد از یک رشته با تابع trim در PHP
♦️تابع trim برای حذف فضای خالی قبل و بعد از یک رشته به کار می رود. به مثال زیر توجه کنید :
♨️مثال
♨️نتیجه
♦️تابع trim برای حذف فضای خالی قبل و بعد از یک رشته به کار می رود. به مثال زیر توجه کنید :
♨️مثال
<?php
$string_1=" hello world. ";
$string_2=trim($string_1);
echo($string_2);
?>♨️نتیجه
hello world.⚠️ این پست مربوط به کانال ما نیست،سوالی داشتید از آیدی که پایین پست درج شده،بپرسید ⚠️
➖➖➖➖➖➖➖➖
Fast Speed ♨️
👁🗨 برنامه سین زن با پروکسی یا همون هک سین ✅
👇🏼
@ForooshNayabBot
➖➖➖➖➖➖➖➖
Fast Speed ♨️
👁🗨 برنامه سین زن با پروکسی یا همون هک سین ✅
👇🏼
@ForooshNayabBot
#آموزش حذف ارور لاگ در هاست
@BotSorce
➖➖➖➖➖➖➖➖
▪️حتما شما هم زیاد مشاهده کردید که وقتی سورسی رو روی هاستتون آپلود میکنید و بعد از چند روز یا حتی چند ثانیه بعد از استارت ربات،یه فایل با اسم ارور لاگ ایجاد شده.
▪️با استفاده از برخی توابع در php ارور لاگ هایی که باعث فشار به cpu و ایجاد فضای اضافی و بعضا" حجیم ، روی هاست میشه رو پاک کنید.
➖➖➖➖➖➖➖
▪️اولین تابع که میتونید از اون استفاده کنید unlink است.
مثال:
➖➖➖➖➖➖➖➖
▪️دومین تابع که ساخت ارور لاگ رو روی هاست به صفر میرسونه error_reporting است.
مثال :
➖➖➖➖➖➖➖➖
#درخواستی
@BotSorce
@BotSorce
➖➖➖➖➖➖➖➖
▪️حتما شما هم زیاد مشاهده کردید که وقتی سورسی رو روی هاستتون آپلود میکنید و بعد از چند روز یا حتی چند ثانیه بعد از استارت ربات،یه فایل با اسم ارور لاگ ایجاد شده.
▪️با استفاده از برخی توابع در php ارور لاگ هایی که باعث فشار به cpu و ایجاد فضای اضافی و بعضا" حجیم ، روی هاست میشه رو پاک کنید.
➖➖➖➖➖➖➖
▪️اولین تابع که میتونید از اون استفاده کنید unlink است.
مثال:
unlink('error_log');➖➖➖➖➖➖➖➖
▪️دومین تابع که ساخت ارور لاگ رو روی هاست به صفر میرسونه error_reporting است.
مثال :
error_reporting(0);
➖➖➖➖➖➖➖➖
#درخواستی
@BotSorce
#آموزش ساخت وب سرویس شمارش تعداد کاراکتر متن
@BotSorce
➖➖➖➖➖➖➖➖
یه فایل میسازید با پسوند php و اسم فایل رو هر چی که خواستید بذارید،مهم نیست.
ما اینجا این اسم رو در نظر گرفتیم👇🏼
characters.php
▪️بعد از ایجاد فایل،بازش کنید و این کدها رو از اینجا کپی کنید و داخل فایل پیست کنید و در آخر هم ذخیره ش کنید.
شیوهء فراخوانی به اینصورت میشه
https://your_domain.com/characters.php?text=TEXT
▪️ که اینجا TEXT میشه متنی که میخوایم شمارش کنیم
➖➖➖➖➖➖➖➖
#درخواستی
BOTSORCE
@BotSorce
➖➖➖➖➖➖➖➖
یه فایل میسازید با پسوند php و اسم فایل رو هر چی که خواستید بذارید،مهم نیست.
ما اینجا این اسم رو در نظر گرفتیم👇🏼
characters.php
▪️بعد از ایجاد فایل،بازش کنید و این کدها رو از اینجا کپی کنید و داخل فایل پیست کنید و در آخر هم ذخیره ش کنید.
<?php
mb_internal_encoding('UTF-8');
$text = $_GET['text'];
$js = mb_strlen($text);
if($text != ''){
$json = array(
'result'=> 'true', 'Numberofcharacters'=>$js
);
echo json_encode($json);
}
else {
$json = array(
'result'=> 'false',
'error'=> 'Enter your text!'
);
echo json_encode($json);
}
?>
شیوهء فراخوانی به اینصورت میشه
https://your_domain.com/characters.php?text=TEXT
▪️ که اینجا TEXT میشه متنی که میخوایم شمارش کنیم
➖➖➖➖➖➖➖➖
#درخواستی
BOTSORCE
#آموزش
@BotSorce
➖➖➖➖➖➖➖➖
◾️ خیلی از دوستان درخواست این رو داشتن که آموزش متنی اضافه کردن ربات به رباتساز رو بفرستیم تو کانال،ما هم اطاعت امر کردیم.
➖➖➖➖➖➖➖➖
آموزش اضافه کردن ربات به رباتساز
- قبل از هر کاری باید تو پوشه bot رو هاست خودتون سورس موردنظرتون رو اضافه کنید.
میتونیم سورس رو تو پوشه bot آپلود کنیم و بعد تغییر نام بدیم.
برای اینکار ما یه فایل php با هر نامی ، به پوشه bot اضافه میکنیم
ما اینجا از نام
botsorce.php
استفاده کردیم
- فایل رو ذخیره میکنیم
- بعد میریم سراغ سورس اصلی و کدها و دستورات زیر رو بهش اضافه میکنیم
elseif ($textmessage == 'نام دکمه موردنظرتون'){
$chandta = filegetcontents("data/$fromid/chandta.txt");
if ($chandta >= 100 && $fromid != '123456789')
{SendMessage($chatid,"🚫هر کاربر تنها قادر به ساخت یک ربات میباشد\nدرصورت نیاز به رباتهای بیشتر،با ما در ارتباط باشید");
return;
}
save("data/$fromid/step.txt","create botsorce");
vardump(makereq('sendMessage',[
'chatid'=>$update->message->chat->id,
'text'=>"توکن را وارد کنید : ",
'parsemode'=>'MarkDown',
'replymarkup'=>jsonencode(['keyboard'=>
[[['text'=>"🔙 بازگشت 🔙"]]],
'resizekeyboard'=>true
])
]
)
);
}
بعد از این مرحله،میریم سراغ کدهای اصلی
کد زیر رو در قسمتی از سورس بگذارید که به سورس باگ ندید
چند بار امتحان کنید متوجه میشید خودتون
elseif ($step == 'create botsorce')
{$token = $textmessage;
$userbot = jsondecode(filegetcontents(''.$token .'/getme'));
function objectToArrays( $object )
{if( !isobject( $object ) && !isarray( $object ) )
{return $object;}
if( isobject( $object ) )
{
$object = getobjectvars( $object );
}
return arraymap( "objectToArrays", $object );
}
$resultb = objectToArrays($userbot);
$un = $resultb["result"]["username"];
$ok = $resultb["ok"];
if($ok != 100)
{SendMessage($chatid,"❌ متاسفانه توکن ارسالی شما صحیح نمیباشد ❌");
}
else
save("data/$fromid/chandta.txt","1");
save("data/$fromid/bots.txt","$un");
{SendMessage($chatid,"⏳ لطفا منتظر بمانید ...⌛️");
fileputcontents("bots/$un/advip.txt","$un");
if (fileexists("bots/$un/index.php"))
{
$source = filegetcontents("bot/botsorce.php");
$source = strreplace("TOKEN",$token,$source);
$source = strreplace("**ADMIN**",$fromid,$source);
save("bots/$un/index.php",$source);
filegetcontents("".$token."/setwebhook?url=$hostfolder/bots/$un/index.php");
vardump(makereq('sendMessage',
'chat_id'=>$update->message->chat->id,
'text'=>"✅ ربات شما با موفقیت ساخته شد ✅",
'parse_mode'=>'MarkDown',
'reply_markup'=>json_encode(['keyboard'=>
[
[['text'=>"🔙بازگشت🔙"]
],
'resizekeyboard'=>true
])
]
)
);
}
else
{
mkdir("bots/$un");
fileputcontents("bots/$un/advip.txt","$un");
$source = filegetcontents("bot/botsorce.php");
$source = strreplace("**TOKEN**",$token,$source);
$source = strreplace("ADMIN",$fromid,$source);
save("bots/$un/index.php",$source);
filegetcontents("".$token."/setwebhook?url=$hostfolder/bots/$un/index.php");
vardump(makereq('sendMessage',[
'chatid'=>$update->message->chat->id,
'text'=>"✅ ربات شما با موفقیت ساخته شد ✅",
'parsemode'=>'MarkDown',
'replymarkup'=>jsonencode(['inlinekeyboard'=>
[['text'=>"".$un,'url'=>"s:".$un]]
])
]
)
);
}
}
}
فقط الان باید دکمه ها رو اضافه کنیم
مجددا مثل قبل عمل میکنیم و این کدها رو در قسمتی از سورس اضافه کنید که تطبیق داشته باشه و باگ نده به سورس،که اصولا باید در کنار بقیه دکمه های رباتسازتون باشه.
['text'=>"نام دکمه موردنظرتون"],
اما چند نکته
اول این مسئله رو بگم که این کد برای همه رباتسازها جوابگو نیست ولی بیس همینه،باید طبق سورس اصلی رباتسازتون یه جاهاییش رو تغییر بدید
دوم اینکه تو سورس حتما جای توکن TOKEN و جای آیدی عددی ADMIN بزارید چون قراره،توکن و آیدی کاربر جایگزینش بشه
سوم اینکه تو قسمتی که میخواید دکمه اضافه کنید،دقت کنید و سعی کنید وسط بقیه دکمه ها قرار بدید.
➖➖➖➖➖➖➖➖
@BotSorce
@BotSorce
➖➖➖➖➖➖➖➖
◾️ خیلی از دوستان درخواست این رو داشتن که آموزش متنی اضافه کردن ربات به رباتساز رو بفرستیم تو کانال،ما هم اطاعت امر کردیم.
➖➖➖➖➖➖➖➖
آموزش اضافه کردن ربات به رباتساز
- قبل از هر کاری باید تو پوشه bot رو هاست خودتون سورس موردنظرتون رو اضافه کنید.
میتونیم سورس رو تو پوشه bot آپلود کنیم و بعد تغییر نام بدیم.
برای اینکار ما یه فایل php با هر نامی ، به پوشه bot اضافه میکنیم
ما اینجا از نام
botsorce.php
استفاده کردیم
- فایل رو ذخیره میکنیم
- بعد میریم سراغ سورس اصلی و کدها و دستورات زیر رو بهش اضافه میکنیم
elseif ($textmessage == 'نام دکمه موردنظرتون'){
$chandta = filegetcontents("data/$fromid/chandta.txt");
if ($chandta >= 100 && $fromid != '123456789')
{SendMessage($chatid,"🚫هر کاربر تنها قادر به ساخت یک ربات میباشد\nدرصورت نیاز به رباتهای بیشتر،با ما در ارتباط باشید");
return;
}
save("data/$fromid/step.txt","create botsorce");
vardump(makereq('sendMessage',[
'chatid'=>$update->message->chat->id,
'text'=>"توکن را وارد کنید : ",
'parsemode'=>'MarkDown',
'replymarkup'=>jsonencode(['keyboard'=>
[[['text'=>"🔙 بازگشت 🔙"]]],
'resizekeyboard'=>true
])
]
)
);
}
بعد از این مرحله،میریم سراغ کدهای اصلی
کد زیر رو در قسمتی از سورس بگذارید که به سورس باگ ندید
چند بار امتحان کنید متوجه میشید خودتون
elseif ($step == 'create botsorce')
{$token = $textmessage;
$userbot = jsondecode(filegetcontents(''.$token .'/getme'));
function objectToArrays( $object )
{if( !isobject( $object ) && !isarray( $object ) )
{return $object;}
if( isobject( $object ) )
{
$object = getobjectvars( $object );
}
return arraymap( "objectToArrays", $object );
}
$resultb = objectToArrays($userbot);
$un = $resultb["result"]["username"];
$ok = $resultb["ok"];
if($ok != 100)
{SendMessage($chatid,"❌ متاسفانه توکن ارسالی شما صحیح نمیباشد ❌");
}
else
save("data/$fromid/chandta.txt","1");
save("data/$fromid/bots.txt","$un");
{SendMessage($chatid,"⏳ لطفا منتظر بمانید ...⌛️");
fileputcontents("bots/$un/advip.txt","$un");
if (fileexists("bots/$un/index.php"))
{
$source = filegetcontents("bot/botsorce.php");
$source = strreplace("TOKEN",$token,$source);
$source = strreplace("**ADMIN**",$fromid,$source);
save("bots/$un/index.php",$source);
filegetcontents("".$token."/setwebhook?url=$hostfolder/bots/$un/index.php");
vardump(makereq('sendMessage',
'chat_id'=>$update->message->chat->id,
'text'=>"✅ ربات شما با موفقیت ساخته شد ✅",
'parse_mode'=>'MarkDown',
'reply_markup'=>json_encode(['keyboard'=>
[
[['text'=>"🔙بازگشت🔙"]
],
'resizekeyboard'=>true
])
]
)
);
}
else
{
mkdir("bots/$un");
fileputcontents("bots/$un/advip.txt","$un");
$source = filegetcontents("bot/botsorce.php");
$source = strreplace("**TOKEN**",$token,$source);
$source = strreplace("ADMIN",$fromid,$source);
save("bots/$un/index.php",$source);
filegetcontents("".$token."/setwebhook?url=$hostfolder/bots/$un/index.php");
vardump(makereq('sendMessage',[
'chatid'=>$update->message->chat->id,
'text'=>"✅ ربات شما با موفقیت ساخته شد ✅",
'parsemode'=>'MarkDown',
'replymarkup'=>jsonencode(['inlinekeyboard'=>
[['text'=>"".$un,'url'=>"s:".$un]]
])
]
)
);
}
}
}
فقط الان باید دکمه ها رو اضافه کنیم
مجددا مثل قبل عمل میکنیم و این کدها رو در قسمتی از سورس اضافه کنید که تطبیق داشته باشه و باگ نده به سورس،که اصولا باید در کنار بقیه دکمه های رباتسازتون باشه.
['text'=>"نام دکمه موردنظرتون"],
اما چند نکته
اول این مسئله رو بگم که این کد برای همه رباتسازها جوابگو نیست ولی بیس همینه،باید طبق سورس اصلی رباتسازتون یه جاهاییش رو تغییر بدید
دوم اینکه تو سورس حتما جای توکن TOKEN و جای آیدی عددی ADMIN بزارید چون قراره،توکن و آیدی کاربر جایگزینش بشه
سوم اینکه تو قسمتی که میخواید دکمه اضافه کنید،دقت کنید و سعی کنید وسط بقیه دکمه ها قرار بدید.
➖➖➖➖➖➖➖➖
@BotSorce
سورس ربات | 𝔹𝕆𝕋𝕊𝕆ℝℂ𝔼
◾️ سورس ربات تبلیغات خودکار ◾️ تقریبا تمام فایلها باید ادیت شوند ◾️ سورس جالبیه،اما... درگاه بانکی حتما باید داشته باشید،با دیتابیس هم باید کمی آشنائی داشته باشید.درغیر اینصورت محال ممکنه بتونید از این سورس استفاده کنید. ◾️ رمز فایل @botsorce ◾️ به حروف کوچک…
◾️ اگه خدا خواست و عمری باقی بود،آموزشهای مربوط به دیتابیس هم براتون ارسال میکنیم که با چنین سورسهایی به مشکل نخورید و بتونید استفاده کنید.
@Botsorce_LockChannel.php
1.9 KB
#آموزش
➖➖➖➖➖➖➖➖
◾️بدلیل درخواستهای زیادی که اعضای محترم کانال داشتن،میخوایم یکبار دیگه با هم،ساخت ربات با زبان php رو مرور کنیم
با بقیه روشها مثل گیت آپدیتس و ... کاری ندارم،همون روشی که روال شده رو پیش میریم
◾️یکی از کارهایی که باید انجام بدیم،اینه که باید توکن رباتمون رو تو سورسمون جایگزین کنیم
که هم میتونه با استفاده از یه تابع ثابت انجام بشه و هم از طریق متغیر که ما برای راحتی کار،با تابع ثابت کار میکنیم.
◾️یکی دیگه از کارهایی که باید انجام بدیم اینه که تابع define رو تعریف کنیم.تابع define هم همونطور که مطلع هستید،یه تابع ثابته و قبلا تو کانال زیاد توضیح دادیم.
◾️برای ادیت ما باید توکن رو در این تابع جایگزین کنیم
مثال :
define('APIKEY', 'توکن');
بعد از اینکار،ما تو سورس هر جا APIKEY رو بکار بگیریم،توکنی که بهش دادیم رو،خودش جایگزین میکنه،البته باید به اینصورت نوشته بشه
".APIKEY."
◾️کار بعدیه ما اینه که باید یه تابع با crul بنویسیم که کارهای اصلی ربات ما رو انجام میده
function bot($method,$datas=[]){
$url = "https://api.telegram.org/bot".APIKEY."/".$method;
$ch = curlinit(); curlsetopt($ch,CURLOPTURL,$url); curlsetopt($ch,CURLOPTRETURNTRANSFER,true); curlsetopt($ch,CURLOPTPOSTFIELDS,$datas);
$res = curlexec($ch);
if(curlerror($ch)){
vardump(curlerror($ch));
}else{
return jsondecode($res);
}
}
◾️اینی که نوشتیم،دو ورودی داره که ورودی اول method که اسمش روشه و متده و ورودی دوم datas که دیتاهای ورودی متد رو در قالب آرایه تعریف میکنه.
◾️اگه به اول کد دقت کنید بعد از function نوشتیم bot ،درسته؟
احتمالا تو سورسها زیاد دیدید که هر چی دلشون خواسته نوشتن،شما هم میتونی هرچی دلت خواست بذاری،فقط تا آخر سورس باید به همون منوال پیش بری.
◾️اگه خودتون یه سر به سایت تلگرام قسمت بات ها بزنید
تو قسمت Sendmessage
۷ پارامتر مشاهده میکنید.
chatid =
آیدی کاربر رو میگیره و فقط به همون کاربر پیام میده
text =
همون متنی هستش که به کاربر نشون میده
parsemode =
این میتونه html باشه یا Markdown
یعنی شما میتونید به متنهای خودتون فرمت بدید که متن رو بولد نشون بده یا هایپر یا ...
disablewebpagepreview =
اگه true باشه
کاری که انجام میده اینه که اگه متن شما یه لینک داشت دیگه لینک رو پیش نمایش نمیده
disablenotification =
اگه true باشه
وقتی پیام به کاربر میفرسته دیگه بهش اطلاع نمیده
replytomessageid =
اگه خواستیم پیامی که ربات میفرسته ریپلای بشه به پیام کاربر از این استفاده میکنیم
replymarkup =
درصورتیکه خواستیم بهش دکمه اضافه کنیم تعریف این لازمه
خب این تا اینجا
الان بهتره بریم و توابعی که لازم داریم رو تعریف کنیم که مهمترینش 👇🏼
function sendmessage($chatid, $text){
bot('sendMessage',[
'chatid'=>$chatid,
'text'=>$text,
'parsemode'=>"MarkDown"
]);
}
شما میتونید طبق نیازی که دارید و توضیحاتی که قبلا فرستادیم واستون تو کانال هر تابعی که خواستید رو اضافه کنید.
میریم سراغ متغیرها
تلگرام پیغامها رو با متد POST برای فایل معرفی شده با getwebhook ارسال میکنه.
این متغیری که تو اکثر سورسها میبینید،واسه همینه
"php://input"
که کل پارامترهای دریافتی از post رو دریافت کنه.
$update = jsondecode(filegetcontents('php://input'));
متغیر بعدی
$message = $update->message;
بعدی
$chatid = $message->chat->id;
ما باید چت آیدی رو تعریف کنیم چون وقتی که تو ربات یه کاربر پیامی رو فرستاد،ربات فقط جواب همون کاربرو بده نه کاربر دیگه رو...
متغیر بعدی
$text = $message->text;
این متغیر کارش اینه ببینه کاربر چه چیزی فرستاده تا طبق اون،بهش جواب بده
(بطور مثال ما تعریف میکنیم که وقتی کاربر استارت زد،جواب بده و بگه سلام) و فقط همین جواب رو بده،اگه کاربر درخواست دیگه ای داشت،باید به نوعی پردازش کنه و این پردازش رو ما باید از قبل برای ربات تعریف کنیم.
₪₪₪₪₪₪₪₪₪₪₪₪₪₪
فعلا تا اینجای آموزش فکر میکنم کافی باشه و جلسه بعد ادامه آموزش رو پیش میریم تا برسیم به آخر سورس.
تمرین کنید،کمتر کپی پیست کنید تا یاد بگیرید.با کپی پیست امکان نداره حتی بعد از چندین سال،بتونید یه خط کد رو درست بنویسید.انقدر باید اشتباه کنید و اشتباهاتتون رو برطرف کنید تا به موفقیت برسید.هیچکس مادرزاد علمی کسب نمیکنه که با ۶ تا مدرک دکترا زیر بغلش بدنیا بیاد.بلااستثناء برای رسیدن به هدفی که دارید،باید سختی ها و تمرینهای زیاد و ... تحمل کنید.شاید با پول به خیلی چیزا برسی،ولی یکی یه سوال بپرسه ازت،گیرپاچ میکنی.
➖➖➖➖➖➖➖➖
@BotSorce
➖➖➖➖➖➖➖➖
◾️بدلیل درخواستهای زیادی که اعضای محترم کانال داشتن،میخوایم یکبار دیگه با هم،ساخت ربات با زبان php رو مرور کنیم
با بقیه روشها مثل گیت آپدیتس و ... کاری ندارم،همون روشی که روال شده رو پیش میریم
◾️یکی از کارهایی که باید انجام بدیم،اینه که باید توکن رباتمون رو تو سورسمون جایگزین کنیم
که هم میتونه با استفاده از یه تابع ثابت انجام بشه و هم از طریق متغیر که ما برای راحتی کار،با تابع ثابت کار میکنیم.
◾️یکی دیگه از کارهایی که باید انجام بدیم اینه که تابع define رو تعریف کنیم.تابع define هم همونطور که مطلع هستید،یه تابع ثابته و قبلا تو کانال زیاد توضیح دادیم.
◾️برای ادیت ما باید توکن رو در این تابع جایگزین کنیم
مثال :
define('APIKEY', 'توکن');
بعد از اینکار،ما تو سورس هر جا APIKEY رو بکار بگیریم،توکنی که بهش دادیم رو،خودش جایگزین میکنه،البته باید به اینصورت نوشته بشه
".APIKEY."
◾️کار بعدیه ما اینه که باید یه تابع با crul بنویسیم که کارهای اصلی ربات ما رو انجام میده
function bot($method,$datas=[]){
$url = "https://api.telegram.org/bot".APIKEY."/".$method;
$ch = curlinit(); curlsetopt($ch,CURLOPTURL,$url); curlsetopt($ch,CURLOPTRETURNTRANSFER,true); curlsetopt($ch,CURLOPTPOSTFIELDS,$datas);
$res = curlexec($ch);
if(curlerror($ch)){
vardump(curlerror($ch));
}else{
return jsondecode($res);
}
}
◾️اینی که نوشتیم،دو ورودی داره که ورودی اول method که اسمش روشه و متده و ورودی دوم datas که دیتاهای ورودی متد رو در قالب آرایه تعریف میکنه.
◾️اگه به اول کد دقت کنید بعد از function نوشتیم bot ،درسته؟
احتمالا تو سورسها زیاد دیدید که هر چی دلشون خواسته نوشتن،شما هم میتونی هرچی دلت خواست بذاری،فقط تا آخر سورس باید به همون منوال پیش بری.
◾️اگه خودتون یه سر به سایت تلگرام قسمت بات ها بزنید
تو قسمت Sendmessage
۷ پارامتر مشاهده میکنید.
chatid =
آیدی کاربر رو میگیره و فقط به همون کاربر پیام میده
text =
همون متنی هستش که به کاربر نشون میده
parsemode =
این میتونه html باشه یا Markdown
یعنی شما میتونید به متنهای خودتون فرمت بدید که متن رو بولد نشون بده یا هایپر یا ...
disablewebpagepreview =
اگه true باشه
کاری که انجام میده اینه که اگه متن شما یه لینک داشت دیگه لینک رو پیش نمایش نمیده
disablenotification =
اگه true باشه
وقتی پیام به کاربر میفرسته دیگه بهش اطلاع نمیده
replytomessageid =
اگه خواستیم پیامی که ربات میفرسته ریپلای بشه به پیام کاربر از این استفاده میکنیم
replymarkup =
درصورتیکه خواستیم بهش دکمه اضافه کنیم تعریف این لازمه
خب این تا اینجا
الان بهتره بریم و توابعی که لازم داریم رو تعریف کنیم که مهمترینش 👇🏼
function sendmessage($chatid, $text){
bot('sendMessage',[
'chatid'=>$chatid,
'text'=>$text,
'parsemode'=>"MarkDown"
]);
}
شما میتونید طبق نیازی که دارید و توضیحاتی که قبلا فرستادیم واستون تو کانال هر تابعی که خواستید رو اضافه کنید.
میریم سراغ متغیرها
تلگرام پیغامها رو با متد POST برای فایل معرفی شده با getwebhook ارسال میکنه.
این متغیری که تو اکثر سورسها میبینید،واسه همینه
"php://input"
که کل پارامترهای دریافتی از post رو دریافت کنه.
$update = jsondecode(filegetcontents('php://input'));
متغیر بعدی
$message = $update->message;
بعدی
$chatid = $message->chat->id;
ما باید چت آیدی رو تعریف کنیم چون وقتی که تو ربات یه کاربر پیامی رو فرستاد،ربات فقط جواب همون کاربرو بده نه کاربر دیگه رو...
متغیر بعدی
$text = $message->text;
این متغیر کارش اینه ببینه کاربر چه چیزی فرستاده تا طبق اون،بهش جواب بده
(بطور مثال ما تعریف میکنیم که وقتی کاربر استارت زد،جواب بده و بگه سلام) و فقط همین جواب رو بده،اگه کاربر درخواست دیگه ای داشت،باید به نوعی پردازش کنه و این پردازش رو ما باید از قبل برای ربات تعریف کنیم.
₪₪₪₪₪₪₪₪₪₪₪₪₪₪
فعلا تا اینجای آموزش فکر میکنم کافی باشه و جلسه بعد ادامه آموزش رو پیش میریم تا برسیم به آخر سورس.
تمرین کنید،کمتر کپی پیست کنید تا یاد بگیرید.با کپی پیست امکان نداره حتی بعد از چندین سال،بتونید یه خط کد رو درست بنویسید.انقدر باید اشتباه کنید و اشتباهاتتون رو برطرف کنید تا به موفقیت برسید.هیچکس مادرزاد علمی کسب نمیکنه که با ۶ تا مدرک دکترا زیر بغلش بدنیا بیاد.بلااستثناء برای رسیدن به هدفی که دارید،باید سختی ها و تمرینهای زیاد و ... تحمل کنید.شاید با پول به خیلی چیزا برسی،ولی یکی یه سوال بپرسه ازت،گیرپاچ میکنی.
➖➖➖➖➖➖➖➖
@BotSorce