$decoded = json_decode($result, true);
var_dump($decoded['success']);
func main() {
dg, err := discordgo.New("Bot " + Token)
if err != nil {
fmt.Println("error creating Discord session,", err)
return
}
dg.AddHandler(setActivity)
dg.Identify.Intents = discordgo.IntentsGuildMessages
err = dg.Open()
if err != nil {
fmt.Println("error opening connection,", err)
return
}
sc := make(chan os.Signal, 1)
signal.Notify(sc, syscall.SIGINT, syscall.SIGTERM, os.Interrupt, os.Kill)
<-sc
dg.Close()
}
func setActivity(s *discordgo.Session, r *discordgo.Ready) {
err := s.UpdateListeningStatus("Пропишите b!games;")
if err != nil {
panic(err)
}
}
update_answer_id_start, err33 := db.Query(fmt.Sprintf("UPDATE `ucp` SET `closed` = '1' WHERE `id` = '%d'", res_trim_int))
defer update_answer_id_start.Close()
update_answer_id_start, err33 := db.Exec("UPDATE `ucp` SET `closed` = '1' WHERE `id` = ?", res_trim_int)
for res_select_list.Next(){
err18 := res_select_list.Scan(&ucp.Id, &ucp.Text)
if err18 != nil {
panic(err18)
}
str.WriteString("LIST QUESTION:\r\nID- " + strconv.Itoa(ucp.Id) + " TEXT- " + ucp.Text)
}
str.WriteString("LIST QUESTION:\r\n")
for res_select_list.Next(){
err18 := res_select_list.Scan(&ucp.Id, &ucp.Text)
if err18 != nil {
panic(err18)
}
str.WriteString("ID- " + strconv.Itoa(ucp.Id) + " TEXT- " + ucp.Text + "\r\n")
}
lp.MessageNew(func(_ context.Context, obj events.MessageNewObject) {
// тут приходит новый запрос
if obj.Message.Text == "/dump" {
var str strings.Builder
// читаете данные из базы
res, err := db.Query("SELECT `report_id`, `content_type` FROM `xf_report` WHERE `report_state` = 'open'")
// по одном их обрабатываете и записываете в strings.Builder
for res.Next(){
err := res.Scan(&report.Report_id, &report.Content_type)
str.WriteString(...)
}
// тут у вас все данные собраны в str
// отправляете данные в ответ
send, err2 := vk.MessagesSend(api.Params{
"peer_id": 2000000001,
"random_id": 0,
"message": str.String(),
})
}
class Tree {
public $categories = [];
public $categoriesTree = [];
private $db = null;
public function __construct() {
$this->db = new PDO("mysql:dbname=zadanie;host=localhost;charset=UTF8", "root", "");
$this->categories = $this->getCategories();
$this->categoriesTree = $this->getFullTree();
}
/*
* Список всех категорий
*/
private function getCategories(){
$arr_cat = [];
$result = $this->db->query("SELECT * FROM `categories`")->fetchAll();
foreach($result AS $category){
$arr_cat[$category['id']] = $category;
}
return $arr_cat ;
}
/*
* Список категорий в форме дерева
*/
private function getFullTree() {
$tree = [] ;
$categories = $this->categories;
foreach($categories as $id => &$node) {
if(!$node['id_parent']){
$tree[$id] = &$node ;
}else{
$categories[$node['id_parent']]['children'][$id] = &$node ;
}
}
return $tree ;
}
/*
* хлебные крошки
* $id - ID категории в которой мы находимся
*/
public function breadcrumbs($id){
$breadcrumbs_array = [];
$array = $this->categories;
for($i = 0; $i < count($array); $i++){
if($id){
$breadcrumbs_array[$array[$id]['id']] = $array[$id]['title'] ;
$id = $array[$id]['id_parent'] ;
}
}
return array_reverse($breadcrumbs_array, true) ;
}
/*
* @bonus
* Получаем ID всех дочерных категорий родителя
*/
public function getChildren($id_parent){
static $children = [];
$result = $this->db->query("SELECT `id` FROM `categories` WHERE `id_parent` = '$id_parent'")->fetchAll();
foreach($result AS $post){
$children[] = $post['id'];
$this->getChildren($post['id']);
}
return $children;
}
}
$category = new Tree();
$categories = $category->categoriesTree; // список всех категорий
$tree = $category->categoriesTree; // список категорий в форме дерева
$id_categoty = 7; // ID категории в которой мы сейчас находимся
$breadcrumbs = $category->breadcrumbs($id_categoty);
foreach($breadcrumbs AS $id => $title){
if($id == $id_categoty)
continue; // текущую категорию пропускаем
echo ' - <a href="?id=' . $id . '">' . $title . '</a>';
}
$id_parent = 2; // ID категории родителя
$children = $category->getChildren($id_parent);
//print_r($children);