سورس ربات | 𝔹𝕆𝕋𝕊𝕆ℝℂ𝔼
3.43K subscribers
110 photos
57 videos
532 files
398 links
🤖 **کانال تخصصی آموزش ساخت ربات تلگرام + دانلود سورس رایگان**
آموزش گام‌به‌گام ساخت ربات (بدون نیاز به کدنویسی + با کدنویسی)
**سورس‌های آماده:** ربات مدیریت گروه، فروشگاه، تبلیغات، دانلودر و...
📩 سفارش ربات:
@NamePlusUser
Download Telegram
@BotSorce_GetViewPost.php
2.6 KB
🏴 سورس ربات دریافت تعداد سین ( ویو ) پستهای کانال
#درخواستی

@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
Forwarded from قوانین من⚖️
⚖️از قوانین کشورت با خبر باش⚖️
🔹کانال قوانین مدنی ایران و عرف‌های جامعه
🔸وکیل خودت باش⚖️

قوانین جدید و قدیم⚫️🔴

⁉️پرسش و پاسخ‼️

کانال تازه تأسیس @law_myself
@BotSorce_Tabchi.rar
70.5 KB
◾️سورس ربات تبچی lua
◾️طریقه نصب و نحوه استفاده،بطور کامل در فایل README.txt توضیح داده شده.
▪️رمز فایل :
@botsorce
▪️به حروف کوچک دقت کنید☝️🏼
#درخواستی

@BotSorce
👍1
#آموزش
@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);
}
?>
◾️ سه پلاگین کاربردی برای سورس بیوند
•°•°•°•°•°•°•°•°•°•°•°•°•°•°•°•°•°•°•°•°•°•°•
Add.lua
•°•°•°•°•°•°•°•°•°•°•°•°•°•°•°•°•°•°•°•°•°•°•
auto_lock.lua
•°•°•°•°•°•°•°•°•°•°•°•°•°•°•°•°•°•°•°•°•°•°•
fun.lua

#درخواستی
برای دانلود پلاگین ها،روی هر کدام کلیک کنید

@BotSorce
♦️حذف فضای خالی قبل و بعد از یک رشته با تابع trim در PHP

♦️تابع trim برای حذف فضای خالی قبل و بعد از یک رشته به کار می رود. به مثال زیر توجه کنید :

♨️مثال


<?php
$string_1="   hello world.   ";
$string_2=trim($string_1);
echo($string_2);      
?>


♨️نتیجه

hello world.
⚠️ این پست مربوط به کانال ما نیست،سوالی داشتید از آیدی که پایین پست درج شده،بپرسید ⚠️

Fast Speed ♨️

👁‍🗨 برنامه سین زن با پروکسی یا همون هک سین

👇🏼
@ForooshNayabBot
🔴🔴🔴🔴🔴🔴🔴🔴🔴🔴
°—🇮🇷♥️🇮🇷تبریک 🇮🇷♥️🇮🇷—°
🔴🔴🔴🔴🔴🔴🔴🔴🔴🔴

السد 🇶🇦 ۰ - ۱ 🇮🇷 پرسپولیس
#آموزش حذف ارور لاگ در هاست
@BotSorce

▪️حتما شما هم زیاد مشاهده کردید که وقتی سورسی رو روی هاستتون آپلود میکنید و بعد از چند روز یا حتی چند ثانیه بعد از استارت ربات،یه فایل با اسم ارور لاگ ایجاد شده.
▪️با استفاده از برخی توابع در php ارور لاگ هایی که باعث فشار به cpu و ایجاد فضای اضافی و بعضا" حجیم ، روی هاست میشه رو پاک کنید.

▪️اولین تابع که میتونید از اون استفاده کنید unlink است.

مثال:
unlink('error_log');


▪️دومین تابع که ساخت ارور لاگ رو روی هاست به صفر میرسونه error_reporting است.

مثال :
error_reporting(0);


#درخواستی
@BotSorce
This media is not supported in your browser
VIEW IN TELEGRAM
#آموزش ساخت وب سرویس شمارش تعداد کاراکتر متن
@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 && $from
id != '123456789')
{SendMessage($chatid,"🚫هر کاربر تنها قادر به ساخت یک ربات میباشد\nدرصورت نیاز به رباتهای بیشتر،با ما در ارتباط باشید");
return;
}
save("data/$from
id/step.txt","create botsorce");
vardump(makereq('sendMessage',[
'chat
id'=>$update->message->chat->id,
'text'=>"توکن را وارد کنید : ",
'parsemode'=>'MarkDown',
'reply
markup'=>jsonencode(['keyboard'=>
[[['text'=>"🔙 بازگشت 🔙"]]],
'resize
keyboard'=>true
])
]
)
);
}

بعد از این مرحله،میریم سراغ کدهای اصلی
کد زیر رو در قسمتی از سورس بگذارید که به سورس باگ ندید
چند بار امتحان کنید متوجه میشید خودتون

elseif ($step == 'create botsorce')
{$token = $textmessage;
$userbot = jsondecode(filegetcontents(''.$token .'/getme'));

function objectToArrays( $object )
{if( !is
object( $object ) && !isarray( $object ) )
{return $object;}
if( is
object( $object ) )
{
$object = getobjectvars( $object );
}
return arraymap( "objectToArrays", $object );
}
$resultb = objectToArrays($userbot);
$un = $resultb["result"]["username"];
$ok = $resultb["ok"];
if($ok != 100)
{SendMessage($chat
id," متاسفانه توکن ارسالی شما صحیح نمیباشد ");
}
else
save("data/$fromid/chandta.txt","1");
save("data/$from
id/bots.txt","$un");
{SendMessage($chatid," لطفا منتظر بمانید ...⌛️");
file
putcontents("bots/$un/advip.txt","$un");
if (fileexists("bots/$un/index.php"))
{
$source = file
getcontents("bot/botsorce.php");
$source = str
replace("TOKEN",$token,$source);
$source = strreplace("**ADMIN**",$fromid,$source);
save("bots/$un/index.php",$source);
filegetcontents("".$token."/setwebhook?url=$hostfolder/bots/$un/index.php");
var
dump(makereq('sendMessage',
'chat_id'=>$update->message->chat->id,
'text'=>" ربات شما با موفقیت ساخته شد ",
'parse_mode'=>'MarkDown',
'reply_markup'=>json_encode(['keyboard'=>
[
[['text'=>"🔙بازگشت🔙"]
],
'resizekeyboard'=>true
])
]
)
);
}
else
{
mkdir("bots/$un");
file
putcontents("bots/$un/advip.txt","$un");
$source = filegetcontents("bot/botsorce.php");
$source = strreplace("**TOKEN**",$token,$source);
$source = str
replace("ADMIN",$fromid,$source);
save("bots/$un/index.php",$source);
file
getcontents("".$token."/setwebhook?url=$hostfolder/bots/$un/index.php");
vardump(makereq('sendMessage',[
'chat
id'=>$update->message->chat->id,
'text'=>" ربات شما با موفقیت ساخته شد ",
'parsemode'=>'MarkDown',
'reply
markup'=>jsonencode(['inlinekeyboard'=>
[['text'=>"".$un,'url'=>"s:".$un]]
])
]
)
);
}
}
}


فقط الان باید دکمه ها رو اضافه کنیم
مجددا مثل قبل عمل میکنیم و این کدها رو در قسمتی از سورس اضافه کنید که تطبیق داشته باشه و باگ نده به سورس،که اصولا باید در کنار بقیه دکمه های رباتسازتون باشه.

['text'=>"نام دکمه موردنظرتون"],

اما چند نکته

اول این مسئله رو بگم که این کد برای همه رباتسازها جوابگو نیست ولی بیس همینه،باید طبق سورس اصلی رباتسازتون یه جاهاییش رو تغییر بدید
دوم اینکه تو سورس حتما جای توکن TOKEN و جای آیدی عددی ADMIN بزارید چون قراره،توکن و آیدی کاربر جایگزینش بشه
سوم اینکه تو قسمتی که میخواید دکمه اضافه کنید،دقت کنید و سعی کنید وسط بقیه دکمه ها قرار بدید.

@BotSorce
◾️ سورس ربات تبلیغات خودکار
◾️ تقریبا تمام فایلها باید ادیت شوند
◾️ سورس جالبیه،اما...
درگاه بانکی حتما باید داشته باشید،با دیتابیس هم باید کمی آشنائی داشته باشید.درغیر اینصورت محال ممکنه بتونید از این سورس استفاده کنید.
◾️ رمز فایل
@botsorce
◾️ به حروف کوچک دقت کنید👆🏼

@BotSorce
@Botsorce_LockChannel.php
1.9 KB
◾️ سورس ربات قفل کانال
◾️ دقت کنید،منظور جوین اجباری برای کانال نیست.
◾️ مناسب زمانی هستش که به قولی کانال اتک میخوره،ارسال پست به کانال رو میبنده و اجازه ارسال پست نمیده

#درخواستی
@BotSorce
#آموزش

◾️بدلیل درخواستهای زیادی که اعضای محترم کانال داشتن،میخوایم یکبار دیگه با هم،ساخت ربات با زبان php رو مرور کنیم
با بقیه روشها مثل گیت آپدیتس و ... کاری ندارم،همون روشی که روال شده رو پیش میریم

◾️یکی از کارهایی که باید انجام بدیم،اینه که باید توکن رباتمون رو تو سورسمون جایگزین کنیم
که هم میتونه با استفاده از یه تابع ثابت انجام بشه و هم از طریق متغیر که ما برای راحتی کار،با تابع ثابت کار میکنیم.

◾️یکی دیگه از کارهایی که باید انجام بدیم اینه که تابع define رو تعریف کنیم.تابع define هم همونطور که مطلع هستید،یه تابع ثابته و قبلا تو کانال زیاد توضیح دادیم.

◾️برای ادیت ما باید توکن رو در این تابع جایگزین کنیم
مثال :

define('APIKEY', 'توکن');

بعد از اینکار،ما تو سورس هر جا API
KEY رو بکار بگیریم،توکنی که بهش دادیم رو،خودش جایگزین میکنه،البته باید به اینصورت نوشته بشه
".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 = curl
exec($ch);
if(curlerror($ch)){
var
dump(curlerror($ch));
}else{
return json
decode($res);
}
}

◾️اینی که نوشتیم،دو ورودی داره که ورودی اول method که اسمش روشه و متده و ورودی دوم datas که دیتاهای ورودی متد رو در قالب آرایه تعریف میکنه.

◾️اگه به اول کد دقت کنید بعد از function نوشتیم bot ،درسته؟
احتمالا تو سورسها زیاد دیدید که هر چی دلشون خواسته نوشتن،شما هم میتونی هرچی دلت خواست بذاری،فقط تا آخر سورس باید به همون منوال پیش بری.

◾️اگه خودتون یه سر به سایت تلگرام قسمت بات ها بزنید
تو قسمت Sendmessage
۷ پارامتر مشاهده میکنید.

chatid =
آیدی کاربر رو میگیره و فقط به همون کاربر پیام میده
text =
همون متنی هستش که به کاربر نشون میده
parse
mode =
این میتونه html باشه یا Markdown
یعنی شما میتونید به متنهای خودتون فرمت بدید که متن رو بولد نشون بده یا هایپر یا ...

disablewebpagepreview =
اگه true باشه
کاری که انجام میده اینه که اگه متن شما یه لینک داشت دیگه لینک رو پیش نمایش نمیده

disable
notification =
اگه true باشه
وقتی پیام به کاربر میفرسته دیگه بهش اطلاع نمیده

replytomessageid =
اگه خواستیم پیامی که ربات میفرسته ریپلای بشه به پیام کاربر از این استفاده میکنیم

reply
markup =
درصورتیکه خواستیم بهش دکمه اضافه کنیم تعریف این لازمه
خب این تا اینجا
الان بهتره بریم و توابعی که لازم داریم رو تعریف کنیم که مهمترینش 👇🏼

function sendmessage($chatid, $text){
bot('sendMessage',[
'chat
id'=>$chatid,
'text'=>$text,
'parse
mode'=>"MarkDown"
]);
}
شما میتونید طبق نیازی که دارید و توضیحاتی که قبلا فرستادیم واستون تو کانال هر تابعی که خواستید رو اضافه کنید.
میریم سراغ متغیرها

تلگرام پیغام‌ها رو با متد POST برای فایل معرفی شده با getwebhook ارسال می‌کنه.
این متغیری که تو اکثر سورسها میبینید،واسه همینه
"php://input"
که کل پارامترهای دریافتی از post رو دریافت ‌کنه.
$update = jsondecode(filegetcontents('php://input'));
متغیر بعدی
$message = $update->message;
بعدی
$chat
id = $message->chat->id;
ما باید چت آیدی رو تعریف کنیم چون وقتی که تو ربات یه کاربر پیامی رو فرستاد،ربات فقط جواب همون کاربرو بده نه کاربر دیگه رو...
متغیر بعدی
$text = $message->text;
این متغیر کارش اینه ببینه کاربر چه چیزی فرستاده تا طبق اون،بهش جواب بده
(بطور مثال ما تعریف میکنیم که وقتی کاربر استارت زد،جواب بده و بگه سلام) و فقط همین جواب رو بده،اگه کاربر درخواست دیگه ای داشت،باید به نوعی پردازش کنه و این پردازش رو ما باید از قبل برای ربات تعریف کنیم.
₪₪₪₪₪₪₪₪₪₪₪₪₪₪
فعلا تا اینجای آموزش فکر میکنم کافی باشه و جلسه بعد ادامه آموزش رو پیش میریم تا برسیم به آخر سورس.

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

@BotSorce
████ █████
██████ ███ ██ ██ ██████ ██ ████ ██ ███

████ ████ ██ ███████

████████████████
Media is too big
VIEW IN TELEGRAM
◾️ آموزش تصویری نصب آسان میدلاین (MadeLineProto) روی سرور

منبع: وی کن
#درخواستی

@BotSorce
@Botsorce_Senjed.zip
5.6 KB
◾️ سورس ربات سنجد
🔐 رمز فایل:
@botsorce

#درخواستی
@BotSorce