-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathGroupManageModule.php
More file actions
68 lines (64 loc) · 2.75 KB
/
GroupManageModule.php
File metadata and controls
68 lines (64 loc) · 2.75 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
<?php
namespace kjBotModule\kj415j45\CoreModule;
use kjBot\Framework\Module;
use kjBot\Framework\Event\GroupMessageEvent;
use kjBot\Framework\DataStorage;
class GroupManageModule extends Module{
public function process(array $args, $event){
if(!($event instanceof GroupMessageEvent)){
q('只有群聊才能使用本命令');
}
$ac = Access::Control($event);
if($ac->isGroup('admin') || $ac->isGroup('owner')){
switch($args[0]){
case '设置欢迎消息':
case '设置入群消息':
case '/welcomeMsg':
case '!welcomeMsg':
case '!welcomeMsg':
return $this->setWelcomeMsg($args, $event);
case '设置退群提示':
case '/leaveMsg':
case '!leaveMsg':
case '!leaveMsg':
return $this->setLeaveMsg($args, $event);
case '启用入群消息':
return (GroupManage::Load($event->groupId)->enableWelcomeMsg()->save())!==false?
$event->sendBack('设置成功'):q('设置失败');
case '禁用入群消息':
return (GroupManage::Load($event->groupId)->enableWelcomeMsg(false)->save())!==false?
$event->sendBack('设置成功'):q('设置失败');
case '启用退群提示':
return (GroupManage::Load($event->groupId)->enableLeaveMsg()->save())!==false?
$event->sendBack('设置成功'):q('设置失败');
case '禁用退群提示':
return (GroupManage::Load($event->groupId)->enableLeaveMsg(false)->save())!==false?
$event->sendBack('设置成功'):q('设置失败');
default:
q('未知的匹配模式');
}
}else{
q('只有管理员可以进行此操作');
}
}
protected function setWelcomeMsg(array $args, GroupMessageEvent $event){
$gm = GroupManage::Load($event->groupId);
$msg = substr(strstr($event->getMsg(), "\n"), 1);
if($msg === false){
q('请从第二行开始输入欢迎消息');
}else{
$gm->setWelcomeMsg($msg)->save();
return $event->sendBack('设置成功');
}
}
protected function setLeaveMsg(array $args, GroupMessageEvent $event){
$gm = GroupManage::Load($event->groupId);
$msg = substr(strstr($event->getMsg(), "\n"), 1);
if($msg === false){
q('请从第二行开始输入退群提示');
}else{
$gm->setLeaveMsg($msg)->save();
return $event->sendBack('设置成功');
}
}
}