1 ###RUN_PERL: #!/usr/bin/perl
3 # reset is generated from reset.1.pl.
7 # Copyright (C) 2016 - 2018, 2023 Balthasar SzczepaĆski
9 # This program is free software: you can redistribute it and/or modify
10 # it under the terms of the GNU Affero General Public License as
11 # published by the Free Software Foundation, either version 3 of the
12 # License, or (at your option) any later version.
14 # This program is distributed in the hope that it will be useful,
15 # but WITHOUT ANY WARRANTY; without even the implied warranty of
16 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 # GNU Affero General Public License for more details.
19 # You should have received a copy of the GNU Affero General Public License
20 # along with this program. If not, see <http://www.gnu.org/licenses/>.
24 use Encode::Locale ('decode_argv');
25 use Encode ('encode', 'decode');
27 ###PERL_LIB: use lib /botm/lib/bsta
29 'read_data_file', 'write_data_file',
32 'STATE', 'INTF_STATE', 'CHAT_STATE',
36 binmode STDIN, ':encoding(UTF-8)';
37 binmode STDOUT, ':encoding(UTF-8)';
38 binmode STDERR, ':encoding(UTF-8)';
41 ###PERL_DATA_CHAT_PATH: DATA_CHAT_PATH = /botm/data/bsta/chat
42 ###PERL_DATA_SETTINGS_PATH: DATA_SETTINGS_PATH = /botm/data/bsta/state
43 ###PERL_DATA_STATE_PATH: DATA_STATE_PATH = /botm/data/bsta/state
44 ###PERL_DATA_STORY_PATH: DATA_STORY_PATH = /botm/data/bsta/story
46 ###PERL_RESET_PASSWORD: RESET_PASSWORD = ''
53 delete @ENV{qw(IFS CDPATH ENV BASH_ENV)};
54 ###PERL_SET_PATH: $ENV{'PATH'} = /usr/local/bin:/usr/bin:/bin;
56 %settings = read_data_file(DATA_SETTINGS_PATH());
59 ($ARGV[0] eq $settings{'password'}) ||
60 ($ARGV[0] eq RESET_PASSWORD())
63 print STDERR "Wrong password; no reset.\n";
68 'state' => STATE->{'inactive'},
79 'lastip' => '0.0.0.0',
82 'state' => INTF_STATE->{'X'}
86 'state' => CHAT_STATE->{'disconnected'},
90 write_data_file(DATA_STATE_PATH(), '', '', \%state);
91 write_data_file(DATA_STORY_PATH(), '', '', \%story);
92 write_data_file(DATA_CHAT_PATH() , '', '', \%chat);