-
Notifications
You must be signed in to change notification settings - Fork 10
/
Copy pathinstall.php
74 lines (66 loc) · 2.38 KB
/
install.php
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
69
70
71
72
73
74
<?php
// If needed, check the official project on GitHub:
// https://github.com/auino/php-telegram-bot-library
$DELETEEXISTENTWBHOOK = false;
$REGISTERWEBHOOK = true;
$WEBHOOKURL = "https://www.yourwebsite.org/webhook.php";
$REGISTERSELFSIGNEDCERTIFICATE = true;
$SSLCERTIFICATEFILENAME = "certificate.pem";
$SETUPDB = true;
$SETUPDBQUERIES = [
/* if needed, insert your queries here */
];
// if needed, disable $STATES_ENABLED in lib/config.php
$LOGSDBQUERIES = [
"CREATE TABLE `Logs` (`id` bigint(20) NOT NULL AUTO_INCREMENT, `bot` varchar(100) NOT NULL, `action` varchar(100) NOT NULL, `chat` int(14) NOT NULL, `type` varchar(30) NOT NULL, `content` varchar(250) NOT NULL, `date` varchar(30) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `bot` (`bot`,`action`,`chat`,`date`));",
"ALTER TABLE 'telegram'.'Logs' DROP INDEX 'chat', ADD INDEX 'chat' ('chat') USING BTREE;"
];
// if needed, enable $STATES_ENABLED in lib/config.php
$STATESDBQUERIES = [
"CREATE TABLE `States` (`id` bigint(20) NOT NULL AUTO_INCREMENT, `bot` varchar(100) NOT NULL, `chat` int(14) NOT NULL, `state` varchar(100) DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `bot` (`bot`,`chat`));"
];
include_once("lib/telegram.php");
if($DELETEEXISTENTWBHOOK) {
echo "Deleting registered webhook...\n";
$bot = new telegram_bot($TELEGRAM_TOKEN);
$bot->set_webhook();
echo "Deleted!\n";
}
else { // you can register a new webhook only if you're not deleting existent webhook
if($REGISTERWEBHOOK) {
echo "Registering webhook...\n";
$bot = new telegram_bot($TELEGRAM_TOKEN);
if($REGISTERSELFSIGNEDCERTIFICATE) {
if(class_exists('CurlFile', false)) $SSLCERTIFICATEFILE = new CURLFile(realpath($SSLCERTIFICATEFILENAME));
else $SSLCERTIFICATEFILE = "@$SSLCERTIFICATEFILENAME";
$bot->set_webhook($WEBHOOKURL, $SSLCERTIFICATEFILE);
}
else { // no custom SSL certificate file (valid certificate)
$bot->set_webhook($WEBHOOKURL);
}
echo "Registered!\n";
}
}
if($SETUPDB) {
echo "Configuring Logs database...\n";
foreach($SETUPDBQUERIES as $q) {
db_nonquery($q);
}
echo "Configured!\n";
if($LOGS_ENABLED) {
echo "Configuring Logs database...\n";
foreach($LOGSDBQUERIES as $q) {
db_nonquery($q);
}
echo "Configured!\n";
}
if($STATES_ENABLED) {
echo "Configuring States database...\n";
foreach($STATESDBQUERIES as $q) {
db_nonquery($q);
}
echo "Configured!\n";
}
}
echo "Installation completed!\n";
?>