酷Q Air发送表情代码 发送消息文本插入表情格式 [CQ:face,id=CQ码]
在酷Q Air机器人中,如何在发送消息内容中添加表情,这样至少可以做到表情+文字,让消息内容更加生动,更加美美哒~~~(注意:酷Q Air不支持发图、发语音)
用法
在酷Q发送消息内插入[CQ:face,id=XX];其中XX为下图的表情序号
在酷Q Air机器人中,如何在发送消息内容中添加表情,这样至少可以做到表情+文字,让消息内容更加生动,更加美美哒~~~(注意:酷Q Air不支持发图、发语音)
在酷Q发送消息内插入[CQ:face,id=XX];其中XX为下图的表情序号
从事网管工作的朋友,总会遇到一些局域网补丁更新不统一的问题,但是要每一台机都自行下载这补丁,未免太浪费网络带宽了。虽然可以通过其他计算机共享补丁,但补丁太多,总不能每个都手动点击安装吧?其实可以通过批处理解决。
1、将下载的补丁统一放到一个文件夹 hotfix:
2、在文件夹中新建一个 txt 文本文档 update.txt,输入以下内容:
FOR /R %%F IN (*.msu) DO start /wait wusa %%F /quiet /norestart
3、将 update.txt 的后缀名修改为 update.bat:
在 MySQL 5.7 以上版本中,启用了严格模式。
在配置文件中 /etc/mysql/my.cnf 中找到:
sql-model=STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
修改为:
sql-mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
然后重启 MySQL
STRICT_TRANS_TABLES 存储引擎启用严格模式,非法数据值被拒绝
在 MySQL 5.0.2 以前,MySQL 对非法值检查并不严厉,而且为了数据输入还会强制将他们变为合法值。
在 MySQL 5.0.2 以后的版本中,保留了以前的默认行为,但你可以为不良值选择更传统的处理方法,从而使得服务器能够拒绝并放弃出现不良值的语句。
如果未使用严格模式,下面的情况是合法的:
CentOS7 默认使用的是 firewall 作为防火墙
1、查看 firewall 服务状态
systemctl status firewalld
2、查看 firewall 的状态
firewall-cmd --state
3、开启、重启、关闭、firewalld.service 服务
停止 firewall
systemctl stop firewalld.service
开启 firewall
systemctl start firewalld.service
禁止 firewall 开机启动
systemctl disable firewalld.service
4、开启、重启、关闭、firewalld.service 服务
开启 firewall
service firewalld start
这个问题在 64 位的 PHP 版本中并不存在,因为是在 32 位版本中,以秒计算 PHP 只支持到 2147483648,即:2^31,到 2038-01-19 03:14:08。
有效的时间戳通常从 Fri, 13 Dec 1901 20:45:54 GMT 到 Tue, 19 Jan 2038 03:14:07 GMT(对应于 32 位有符号整数的最小值和最大值)。不是所有的平台都支持负的时间戳,那么日记范围就被限制为不能早于 Unix 纪元。这意味着在 1970 年 1 月 1 日之前的日期将不能用在 Windows,一些 Linux 版本,以及几个其它的操作系统中。不过 PHP 5.1.0 及更新的版本克服了此限制。 —— [ PHP手册 ]
如果在32系统PHP 5.1.0之后的版本,可以使用new DateTime解决。代码如下:
将时间戳转为年月日:
$d = new DateTime("@21474836490");
$d->setTimezone(new DateTimeZone("PRC"));
echo $d->format("Y-m-d H:i:s");
将年月日转为时间戳:
$d = new DateTime('2650-07-06 16:21:30');
echo $d->format('U');
如果运行时,遇到如下报错:
WARNING: It is not safe to rely on the system’s timezone settings
PHP 中 CURL 类在做请求时非常好用,对于COOKIE,CURL类也有很不错的支持。
获得 COOKIE 并存为文件:
// 把 COOKIE 保存至 cookie.txt
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt');
// COOKIE 文件存放在至 temp 文件夹下的随机文件
$cookie_file = tempnam('./temp','cookie');
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);
读取文件并携带 COOKIE:
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
先把 COOKIE 保存文件,调用的时候再读取文件。
使用 COOKIEJAR 方法,会有两次 IO 操作,对效率有一定的损失。且运行在 BAE/SAE/GAE 等云计算平台时,不支持本地文件写入。使用正则表达式可以解决这些问题。
代码如下:
<?php
/**
* JetBrains许可服务器
*/
class JetBrainsLicenseServer
{
// 授权给谁
public $licensee = 'jxx';
// license 有效时间(单位:毫秒),默认约为7天多(607875500),原厂 server 传递的数值。
public $prolongationPeriod = 607875500;
// RSA 私钥
public $privateKey = <<<Eof
-----BEGIN RSA PRIVATE KEY-----
MIIBOwIBAAJBALecq3BwAI4YJZwhJ+snnDFj3lF3DMqNPorV6y5ZKXCiCMqj8OeO
mxk4YZW9aaV9ckl/zlAOI0mpB3pDT+Xlj2sCAwEAAQJAW6/aVD05qbsZHMvZuS2A
a5FpNNj0BDlf38hOtkhDzz/hkYb+EBYLLvldhgsD0OvRNy8yhz7EjaUqLCB0juIN
4QIhAMsJQ3xiJemnJ2pD65iRNCC/Kr7jtxbbBwa6ZFLjp12pAiEA54JCn41fF8GZ
90b9L5dtFQB2/yIcGX4Xo7bCvl8DaPMCIBgOZ+2T33QYtwXTOFXiVm/O1qy5ZFcT
6ng0m3BqwsjJAiEAqna/l7wAyP1E4U7kHqbhKxWsiTAUgLDXtzRbMNHFMQECIQCA
xlpXEPqnC3P8if0G9xHomqJ531rOJuzB8fNtRFmxnA==
-----END RSA PRIVATE KEY-----
Eof;
public function ping($salt, $isAnswer = false)
{
$str = '<PingResponse><message></message><responseCode>OK</responseCode><salt>%s</salt></PingResponse>';
$out = sprintf($str, $salt);
return $isAnswer ? $this->writeAnswer($out) : $out;
}
public function obtainTicket($salt, $isAnswer = false)
{
$ticketId = 1;
$str = "<ObtainTicketResponse><message></message><prolongationPeriod>%u</prolongationPeriod><responseCode>OK</responseCode><salt>%s</salt><ticketId>%d</ticketId><ticketProperties>licensee=%s\tlicenseType=0\t</ticketProperties></ObtainTicketResponse>";
$out = sprintf($str, $this->prolongationPeriod, $salt, $ticketId, $this->licensee);
return $isAnswer ? $this->writeAnswer($out) : $out;
}
public function prolongTicket($salt, $isAnswer = false)
{
$ticketId = 1;
$str = '<ProlongTicketResponse><message></message><responseCode>OK</responseCode><salt>%s</salt><ticketId>%d</ticketId></ProlongTicketResponse>';
$out = sprintf($str, $salt, $ticketId);
return $isAnswer ? $this->writeAnswer($out) : $out;
}
public function releaseTicket($salt, $isAnswer = false)
{
$str = '<ReleaseTicketResponse><message></message><responseCode>OK</responseCode><salt>%s</salt></ReleaseTicketResponse>';
$out = sprintf($str, $salt);
return $isAnswer ? $this->writeAnswer($out) : $out;
}
public function writeAnswer($str)
{
$signature = $this->sign($str);
$signatureHex = bin2hex($signature);
$out = sprintf("<!-- %s -->\n%s", $signatureHex, $str);
return $out;
}
private function sign($data)
{
if (empty ($data)) {
return null;
}
$pkeyid = openssl_get_privatekey($this->privateKey);
if (empty ($pkeyid)) {
return null;
}
$signature = '';
$verify = openssl_sign($data, $signature, $pkeyid, OPENSSL_ALGO_MD5);
openssl_free_key($pkeyid);
return $verify ? $signature : null;
}
}
代码如下:
1、打开显示 “系统隐藏文件”
2、是否存在:C:\ProgramData\Synaptics\Synaptics.exe
3、C 盘所有 exe 文件将会被植入木马,特征如下
1、下载火绒杀毒:https://www.huorong.cn/ ,对全盘进行病毒查杀。
挂载本地光盘:
mount /dev/cdrom /mnt
NFS 挂载:
mount -t nfs 192.168.1.2:/a /b
CentOS 挂载 U 盘:
mkdir /mnt/u
mount /dev/sda1 /mnt/u
查看挂载的情况:
df -h
查看某台主机提供的 NFS 服务:
showmount -e 192.168.1.2
nc -v -w 2 192.168.1.2 -z 2049
umount /mnt
umount /dev/cdrom
umount /dev/cdrom /mnt
注意:
当你的当前路径为 /mnt 下,即在挂载文件的里面时,卸载会失败,提示:Dev is besy。解决办法:退出挂载的目录。
composer require medivh/oauth dev-master
GitHub 项目地址:https://github.com/medivh-jay/oauth
<?php
require 'vendor/autoload.php';
// 配置信息
$config = [
'appid' => '申请的appid',
'secret' => '申请的appKey',
'redirect_uri' => '跳转地址',
'response_type' => 'code',
'display' => 'default', // 分 default 和 mobile
'scope' => 'get_user_info,add_share,list_album,add_album,upload_pic,add_topic,add_one_blog,add_weibo,check_page_fans,add_t,add_pic_t,del_t,get_repost_list,get_info,get_other_info,get_fanslist,get_idolist,add_idol,del_idol,get_tenpay_addr' // 这里可以固定成这个
];
Driver命名空间下提供了部分认证驱动类,亦可以自己实现,只要继承了OAuthInterface接口, 都可以使用OAuth来调用
$oAuth = \medivh\OAuth\OAuth::register(new \medivh\OAuth\Driver\QQ, $config);
$oAuth->getAuthorizeURL();
$oAuth->getAccessToken();
这个方法可以传入两个参数,openid 和 access_token
当服务器保存了用户的 openid 和 access_token 时,可以在用户登录时直接调用这个方法获取用户信息