<?php
/*

دیباگ شده : @Camaeal

*/

// غیرفعال کردن نمایش خطاها (برای جلوگیری از مشکل در ارسال پاسخ به تلگرام)
error_reporting(0);
ini_set('display_errors', 0);
ini_set('log_errors', 1);
ini_set('error_log', __DIR__ . '/bot_errors.log');

// لاگ کردن آپدیت‌های دریافتی
$input = file_get_contents('php://input');
file_put_contents('updates.log', date('Y-m-d H:i:s') . " - " . $input . "\n\n", FILE_APPEND);

include_once 'jdf.php';

function js($array,$j=0) {
	return json_encode($array,$j);
}
function jd($array,$j=0) {
	return json_decode($array,$j);
}

$token= '8474228880:AAEDKqFeHKgTbTN0udZrX2DmeQT_6qdgTIU';//توکن
define('API_KEY',$token);

if(!is_dir('ne'))mkdir('ne');

function Neman($method,$data=[],$token=API_KEY) {
	$ch=curl_init('https://api.telegram.org/bot'.$token.'/'.$method);
	curl_setopt_array($ch,[CURLOPT_RETURNTRANSFER=>1,CURLOPT_POSTFIELDS=>$data]);
	return jd(curl_exec($ch));
}

$bot=Neman('getme')->result;
$usbot=$bot->username;
$bname=$bot->first_name;
$botid=$bot->id;

$upd=jd($input);

if($msg=$upd->message) {
	$text=$msg->text ?? '';
	$date=$msg->date ?? time();
	$from=$msg->from;
	$from_first_name=$from->first_name ?? '';
	$from_last_name=$from->last_name ?? '';
	$from_username=$from->username ?? '';
	$from_is_bot=$from->is_bot ?? false;
	$from=$from->id;
	$chat=$msg->chat;
	$type=$chat->type;
	$chat_type=$type;
	$chat_title=$chat->title ?? '';
	$chat=$chat->id;
	$reply_to_message=$msg->reply_to_message ?? null;
    $reply_to_message_photo=$reply_to_message->photo ?? null;
    $reply_to_message_sticker_file_id=$reply_to_message->sticker->file_id ?? null;
	$rp=$reply_to_message;
	$rp_from=$rp->from ?? null;
	$rp_from_id=$rp_from->id ?? null;
	$rp_from_username=$rp_from->username ?? null;
	$rp_message_id=$rp->message_id ?? null;
	$msgid=$msg->message_id;
	$message_id=$msgid;
	$left_chat_member=$msg->left_chat_member ?? null;
	$new_chat_member=$msg->new_chat_member ?? null;
	$new_chat_members=$msg->new_chat_members ?? null;
	$photo=$msg->photo ?? null;
	$sticker=$msg->sticker ?? null;
	$forward_from=$msg->forward_from ?? null;
	$forward_from_chat=$msg->forward_from_chat ?? null;
	$video=$msg->video ?? null;
	$voice=$msg->voice ?? null;
	$document=$msg->document ?? null;
	$video_note=$msg->video_note ?? null;
	$game=$msg->game ?? null;
	$location=$msg->location ?? null;
	$contact=$msg->contact ?? null;
	$entities=$msg->entities ?? null;
	$caption=$msg->caption ?? '';
	$caption_entities=$msg->caption_entities ?? null;
	$audio=$msg->audio ?? null;
}

if($query=$upd->callback_query ?? null) {
	$msg=$query->message;
	$text=$msg->text ?? '';
	$date=$msg->date ?? time();
	$from=$query->from;
	$msgid=$msg->message_id;
	$message_id=$msgid;
	$from_first_name=$from->first_name ?? '';
	$from_last_name=$from->last_name ?? '';
	$from_username=$from->username ?? '';
	$from=$from->id;
	$chat=$msg->chat;
	$type=$chat->type;
	$chat_type=$type;
	$chat_title=$chat->title ?? '';
	$chat=$chat->id;
	$idc=$query->id;
	$data=$query->data;
}

if($msg=$upd->edited_message ?? null) {
	$text=$msg->text ?? '';
	$date=$msg->date ?? time();
	$msgid=$msg->message_id;
	$message_id=$msgid;
	$from=$msg->from;
	$from_first_name=$from->first_name ?? '';
	$from_last_name=$from->last_name ?? '';
	$from_username=$from->username ?? '';
	$from=$from->id;
	$chat=$msg->chat;
	$chat_type=$chat->type;
	$chat_title=$chat->title ?? '';
	$chat=$chat->id;
	$type=$chat_type;
	$photo=$msg->photo ?? null;
	$sticker=$msg->sticker ?? null;
	$forward_from=$msg->forward_from ?? null;
	$forward_from_chat=$msg->forward_from_chat ?? null;
	$video=$msg->video ?? null;
	$voice=$msg->voice ?? null;
	$document=$msg->document ?? null;
	$video_note=$msg->video_note ?? null;
	$game=$msg->game ?? null;
	$location=$msg->location ?? null;
	$contact=$msg->contact ?? null;
	$entities=$msg->entities ?? null;
	$caption=$msg->caption ?? '';
	$caption_entities=$msg->caption_entities ?? null;
	$audio=$msg->audio ?? null;
}

$types=[
	'photo',
	'text',
	'sticker',
	'voice',
	'video',
	'left_chat_member',
	'forward_from',
	'forward_from_chat',
	'new_chat_members'
];

$randn=[
	'بوس %n',
	'بای %n'
];

$monas=[
	'98/10'=>'http://uupload.ir/files/aqn_۲۰۱۹۱۲۲۵_۱۹۰۷۰۶.jpg'
];

$locks=[
	'gif'=>'گیف',
	'document'=>'فایل',
	'sticker'=>'استیکر',
	'photo'=>'عکس',
	'video'=>'فیلم',
	'videonote'=>'فیلم سلفی',
	'audio'=>'آهنگ',
	'voice'=>'صدا',
	'game'=>'بازی',
	'location'=>'مکان',
	'contact'=>'مخاطب',
	'tgservice'=>'خدمات تلگرام',
	'text'=>'متن',
	'sticker animation'=>'استیکر متحرک',
	'emoji'=>'شکلک',
	'verfication'=>'احراز هویت',
	'link'=>'لینک',
	'hyper'=>'هایپر',
	'forward'=>'نقل قول',
	'tag'=>'شناسه کاربری',
	'hashtag'=>'هشتگ',
	'persian'=>'فارسی',
	'english'=>'انگلیسی',
	'badword'=>'فحش',
	'bot'=>'ربات',
	'join'=>'عضوجدید',
	'flood'=>'رگبار',
	'addbot'=>'اد ربات',
	'hard'=>'سختگیرانه'
];

$dev=[6954953563,309389485];//ایدی عددی ادمین
// Defines
define('FROM',$from);
define('CHAT',$chat);
define('MSGID',$msgid);

function sm($from,$text,$key='',$reply='',$parse='') {
	if(mb_strlen($text)>4096) {
		foreach(array_chunk(preg_split('//u',$text),4096) as $txt)
			$ar[]=Neman('sendmessage',[
				'chat_id'=>$from,
				'text'=>join($txt),
				'reply_markup'=>$key,
				'reply_to_message_id'=>$reply,
				'parse_mode'=>$parse
			]);
		return $ar;
	}else
	return Neman('sendmessage',[
		'chat_id'=>$from,
		'text'=>$text,
		'reply_markup'=>$key,
		'reply_to_message_id'=>$reply,
		'parse_mode'=>$parse
	]);
}

function reply($text,$key='',$parse='markdown',$reply='') {
	global $chat,$msgid;
	return sm($chat,$text,$key,$reply?:$msgid,$parse);
}

function leave($chat=CHAT) {
	return Neman('leavechat',[
		'chat_id'=>$chat
	]);
}

function forward($from,$chat,$msgid) {
	return Neman('forwardmessage',[
		'chat_id'=>$from,
		'from_chat_id'=>$chat,
		'message_id'=>$msgid
	]);
}

function editmessage($chat,$msg,$text,$key='',$parse) {
	return Neman('editmessagetext',[
		'chat_id'=>$chat,
		'message_id'=>$msg,
		'text'=>$text,
		'reply_markup'=>$key,
		'parse_mode'=>$parse
	]);
}
function edit($text,$key='',$parse='markdown') {
	global $chat,$msgid;
	return editmessage($chat,$msgid,$text,$key,$parse);
}

function administrator($chat=CHAT,$user='') {
	$s=Neman('getchatadministrators',[
		'chat_id'=>$chat
	])->result;
	if($user=='') {
		return $s;
	} else {
		foreach($s as $admin) {
			if($admin->user->id == $user) return true;
		}
		return false;
	}
}

    function admins($chat=CHAT) {
        $ad=[];
        foreach(administrator($chat) as $admin)$ad[]=$admin->user->id;
        return $ad;
    }

function is_member($user,$chat=CHAT) {
	return Neman('getchatmember',[
		'chat_id'=>$chat,
		'user_id'=>$user
	])->result->user->id;
}

function kick($id=FROM,$chat=CHAT) {
	return Neman('kickchatmember',[
		'chat_id'=>$chat,
		'user_id'=>$id
	]);
}

function is_admin($user=FROM,$chat=CHAT) {
	return in_array($user,admins($chat));
}
function alert($text,$show=false){
	return Neman('answercallbackquery',[
		'callback_query_id'=>$GLOBALS['idc'],
		'text'=>$text,
		'show_alert'=>$show
	]);
}
function silent($id,$tof=false,$date=0,$chat=CHAT) {
	return Neman('restrictChatMember',[
		'chat_id'=>$chat,
		'user_id'=>$id,
		'permissions'=>js([
			'can_send_messages'=>$tof
		]),
		'until_date'=>$date
	]);
}

function getinfo($id=FROM) {
	return Neman('getchat',[
		'chat_id'=>$id
	])->result;
}

function unban($id,$chat=CHAT) {
	return Neman('unbanChatMember',[
		'chat_id'=>$chat,
		'user_id'=>$id
	]);
}

function getprofiles($user=FROM) {
	return Neman('getUserProfilePhotos',[
		'user_id'=>$user
	])->result;
}

function reply_photo($photo,$caption='',$key='',$msgid='',$parse='markdown') {
	return Neman('sendphoto',[
		'chat_id'=>CHAT,
		'photo'=>$photo,
		'caption'=>$caption,
		'reply_markup'=>$key,
		'reply_to_message_id'=>$msgid?:$GLOBALS['message_id'],
		'parse_mode'=>$parse
	]);
}

function del($msgid=MSGID,$chat=CHAT) {
	return Neman('deletemessage',[
		'chat_id'=>$chat,
		'message_id'=>$msgid
	]);
}

class db extends mysqli {
	public function insert($table,$query) {
		$val='';
		foreach($query as $v)
			$val.="'".$this->real_escape_string($v)."',";
		$val=rtrim($val,',');
		$columns='`'.join('`,`',array_keys($query)).'`';
		$this->query("insert into `$table`($columns) values($val)");
	}
	public function fetchone($query) {
		return $this->query($query)->fetch_assoc();
	}
	public function del($table,$where='') {
		$this->query("delete from `$table`".($where?' where '.$where:''));
	}
	public function drop($table) {
		$this->query("drop table `$table`");
	}
	public function fetchall($query) {
		$q=$this->query($query);
		$ar=[];
		while(($r=$q->fetch_assoc())!==false)
			$ar[]=$r;
		return $ar;
	}
	public function update($table,$sets,$where="id='".CHAT."'") {
		$set='';
		foreach($sets as $col=>$value)
			$set.="`$col`='".$this->real_escape_string($value)."',";
		$this->query("update `$table` set ".trim($set,',')." where $where");
	}
}

$questions=jd(file_get_contents('questions.json'),1);

$ne=new db('localhost','mehranff_digi2','HDzzNWRKZ&i_M(bQ','mehranff_digi2');//اطلاعات دیتابیس وارد کنید
;
$ne->set_charset('utf8mb4');

$ne->query('create table if not exists groups(id varchar(15),creator varchar(10),vip json,promote json,ban json,flood json,locked json,warn json,silent json,step json,filter json,installer int,del json)');
$ne->query('create table if not exists members(id varchar(10))');

$ne->query('create table if not exists sendall(id int auto_increment primary key,send json,now int default 0)');

$channel='filmHollywoodi';
$hash=str_replace('_','\_','+cDMZgoF8zVpjMTk1');


$k_start=json_encode(['keyboard'=>[
	[['text'=>'گروه پشتیبانی'],['text'=>'آموزش اد کردن ربات']],
	[['text'=>'بزرگترین لینکدونی']]
],'resize_keyboard'=>true]);


if($chat_type=='private') {
	if($text=='/start') {
		if(!$ne->fetchone("select * from members where id='$from'"))
			$ne->insert('members',['id'=>$from]);
		reply("• با سلام ❤️
برای استفاده از ربات لطفا از طریق لینک زیر ربات را به گروه خود اضافه کنید .

https://telegram.me/$usbot?startgroup=new

- مرحله ی دوم :
ربات را در گروه ادمین کنید تا فعالیت خود را به طور کامل انجام دهد .

- پس از ادمین کردن ربات در صورت فعال نشدن از دستور /start استفاده کنید .

- در صورت بروز هرگونه مشکلی کافی است در گروه پشتیبانی پیام بدید.

• Ch : @$channel",$k_start,'',null);
	}
	if($text=='بزرگترین لینکدونی')
		reply("کانال ما ارائه دهده خدمات تلگرامی با بهترین کیفیت و قیمت میباشد .\n            \nتبلیغ گروه و کانال شما\nممبر کانال\nرباتهای قدرتمند رایگان و پولی\n        \nلطفا برای حمایت از ما در کانال زیر عضو شوید 🌹\n            \n• Ch : @$channel");
	if($text=='گروه پشتیبانی')
		reply("قوانين گروه پشتيباني :\n            \nاین گروه متعلق به ربات $bname میباشد !\nپشتیبانی و پاسخ به سوالات برخی از کاربران ربات در این گروه انجام می شود .\n\nدر گروه پشتیبانی قوانین زیر را رعایت کنید :\n\n🔸ارسال تبلیغات به هر شکل در این گروه ممنوع است از جمله تبلیغات : ربات، کانال، گروه، وب سایت و ...\n🔸چت بیخود ممنوع و از ارسال گیف و استیکر در گروه خودداری کنید !\n🔸فحش و فحاشی به اعضای گروه، اکیدا ممنوع میباشید و در صورت مشاهده برخورد جدی خواهد شد !\n🔹در صورت مشاهده از گروه مسدود و در صورت لزوم از تمامی گروه‌های ربات ".strtoupper($bname)." محروم خواهید شد !\n\nلطفا به نکات بالا توجه فرمایید تا محیطی دوستانه و صمیمی را در کنار یکدیگر داشته باشیم 🌹\n\nhttps://t.me/joinchat/$hash");
	if($text=='آموزش اد کردن ربات')
		reply("• شما میتوانید با کلیک بر روی لینک زیر ربات را به گروه خود دعوت کنید !\n            \nhttp://t.me/$usbot?startgroup=new'");
	require 'panel.php';
}


if($type=='group') {
	if($text=='/start')
		reply("• ربات توانایی نصب شدن در گروه معمولی را ندارد !\n\n» در صورت نیاز به پشتیبانی به گروه پشتیبانی ربات مراجعه کنید .\n\n[» Click To Join DIGIANTI Support Group «](https://t.me/joinchat/$hash)\n\n• Ch : @$channel");
	return;
}

if($type=='supergroup') {
	require 'gp.php';
}

/*

دیباگ شده : @Camaeal

*/