Update Wechat supported
Update Wechat supported
This commit is contained in:
parent
f3d1d90b43
commit
4fdd1535c9
48
BOT.php
48
BOT.php
@ -2,36 +2,36 @@
|
||||
//init
|
||||
require_once('config.php');
|
||||
require_once('functions.php');
|
||||
$plugins = [];
|
||||
$plugins = array();
|
||||
|
||||
require(PATH.'classes'.DIRECTORY_SEPARATOR.TYPE.DIRECTORY_SEPARATOR.'Base.php');
|
||||
require_once(PATH.'classes'.DIRECTORY_SEPARATOR.TYPE.DIRECTORY_SEPARATOR.'init.php');
|
||||
|
||||
//load plugins
|
||||
|
||||
$load_plugins = glob(PATH.'plugins'.DIRECTORY_SEPARATOR.'*.php');
|
||||
foreach ($load_plugins as $key => $value) {
|
||||
if ($value == PATH.'plugins'.DIRECTORY_SEPARATOR.'help.php') {
|
||||
unset($load_plugins[$key]);
|
||||
}
|
||||
}
|
||||
foreach ($TAGs as $TAG) {
|
||||
foreach ($load_plugins as $value) {
|
||||
$plugin_name = substr($value, strlen(PATH.'plugins'.DIRECTORY_SEPARATOR), -4);
|
||||
if (preg_match("/^(".preg_quote($TAG, '/').$plugin_name."|".preg_quote($TAG, '/').$plugin_name.preg_quote('@').BOT_NAME.") (.*)$/", $text, $matches)) {
|
||||
$plugin_text = $matches[2];
|
||||
$plugin_sendto = $from;
|
||||
require_once $value;
|
||||
break;
|
||||
}elseif (preg_match("/^(".preg_quote($TAG, '/').$plugin_name.")|(".preg_quote($TAG, '/').$plugin_name.preg_quote('@').BOT_NAME.")$/", $text)) {
|
||||
$plugin_text = $matches[2];
|
||||
$plugin_sendto = $from;
|
||||
require_once $value;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
require_once PATH.'plugins'.DIRECTORY_SEPARATOR.'help.php';
|
||||
$load_plugins = glob(PATH.'plugins'.DIRECTORY_SEPARATOR.'*.php');
|
||||
foreach ($load_plugins as $key => $value) {
|
||||
if ($value == PATH.'plugins'.DIRECTORY_SEPARATOR.'help.php') {
|
||||
unset($load_plugins[$key]);
|
||||
}
|
||||
}
|
||||
foreach ($TAGs as $TAG) {
|
||||
foreach ($load_plugins as $value) {
|
||||
$plugin_name = substr($value, strlen(PATH.'plugins'.DIRECTORY_SEPARATOR), -4);
|
||||
if (preg_match("/^(".preg_quote($TAG, '/').$plugin_name."|".preg_quote($TAG, '/').$plugin_name.preg_quote('@').BOT_NAME.") (.*)$/", $text, $matches)) {
|
||||
$plugin_text = $matches[2];
|
||||
$plugin_sendto = $from;
|
||||
require_once $value;
|
||||
break;
|
||||
}elseif (preg_match("/^(".preg_quote($TAG, '/').$plugin_name.")|(".preg_quote($TAG, '/').$plugin_name.preg_quote('@').BOT_NAME.")$/", $text)) {
|
||||
$plugin_text = $matches[2];
|
||||
$plugin_sendto = $from;
|
||||
require_once $value;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
require_once PATH.'plugins'.DIRECTORY_SEPARATOR.'help.php';
|
||||
|
||||
|
||||
|
||||
|
20
classes/Wechat/Base.php
Normal file
20
classes/Wechat/Base.php
Normal file
@ -0,0 +1,20 @@
|
||||
<?php
|
||||
class Base
|
||||
{
|
||||
public function exec($raw)
|
||||
{
|
||||
echo $raw;
|
||||
return true;
|
||||
}
|
||||
public function msg($id, $msg)
|
||||
{
|
||||
return $this->exec("<xml>
|
||||
<ToUserName><![CDATA[".$id."]]></ToUserName>
|
||||
<FromUserName><![CDATA[".WC_UserName."]]></FromUserName>
|
||||
<CreateTime>".time()."</CreateTime>
|
||||
<MsgType><![CDATA[text]]></MsgType>
|
||||
<Content><![CDATA[".$msg."]]></Content>
|
||||
<MsgId>".rand(1,9999999999999)."</MsgId>
|
||||
</xml>");
|
||||
}
|
||||
}
|
14
classes/Wechat/init.php
Normal file
14
classes/Wechat/init.php
Normal file
@ -0,0 +1,14 @@
|
||||
<?php
|
||||
$BOT = new Base;
|
||||
$GET = $raw = file_get_contents("php://input");
|
||||
|
||||
//reply to...
|
||||
preg_match('/<ToUserName><!\[CDATA\[(.*)\]\]><\/ToUserName>/', $raw, $FromUserName);
|
||||
$FromUserName = $FromUserName[1];
|
||||
preg_match('/<FromUserName><!\[CDATA\[(.*)\]\]><\/FromUserName>/', $raw, $ToUserName);
|
||||
$ToUserName = $ToUserName[1];
|
||||
preg_match('/<Content><!\[CDATA\[(.*)\]\]><\/Content>/', $raw, $Content);
|
||||
$Content = $Content[1];
|
||||
|
||||
$from = $ToUserName;
|
||||
$text = $Content;
|
@ -14,3 +14,6 @@ define('TB_API_URL', 'https://api.telegram.org/bot'.TB_TOKEN.'/');
|
||||
|
||||
//For plugins
|
||||
define('PLUGIN_GITHUB_TOKEN', 'YOU_GITHUB_TOKEN_HERE');
|
||||
|
||||
//For Wechat
|
||||
define('WC_UserName', 'YOU_WECHAT_USERNAME_HERE');
|
||||
|
Loading…
Reference in New Issue
Block a user