Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
401 commits
Select commit Hold shift + click to select a range
c4ef2fe
убрал ненужные колонки
toxydose Oct 18, 2017
1a35cb8
Выход с отряда
Oct 20, 2017
7de1f3c
Забыль
Oct 20, 2017
52fade9
Косячёк
Oct 20, 2017
dba9fe3
Фикс отправки сообщения
ruckus-dj Oct 20, 2017
de954fe
Напоминания об обновлении профиля и изгнание из отряда
ruckus-dj Oct 20, 2017
c17294f
строительные репорты без логики
toxydose Oct 22, 2017
b0ea31a
Merge branch 'master' of https://github.com/DuskDev/HelperBot into or…
toxydose Oct 22, 2017
cde71b8
Merge branch 'master' of https://github.com/DuskDev/HelperBot into or…
toxydose Oct 22, 2017
7b89b1c
еще строй репортов
toxydose Oct 22, 2017
eef1013
Подучили алхимию :/
ruckus-dj Oct 22, 2017
228877b
Забыл назад поменять
ruckus-dj Oct 22, 2017
d9fd9be
еще стройрепорты
toxydose Oct 22, 2017
c7731aa
Merge branch 'master' of https://github.com/DuskDev/HelperBot into to…
toxydose Oct 22, 2017
97cc30d
Средний уровень на кнопке
ruckus-dj Oct 22, 2017
e4e9b42
Фастфикс
ruckus-dj Oct 22, 2017
6adbc80
Merge branch 'master' of https://github.com/DuskDev/HelperBot into to…
toxydose Oct 25, 2017
cf5ebc0
Баньчики-бананьчики
Oct 25, 2017
433e4e6
Merge branch 'test' into toxydose
Oct 26, 2017
5e228a3
Быстрофиксы
Oct 26, 2017
548c15d
Merge pull request #28 from DuskDev/test
toxydose Oct 26, 2017
47e60e9
Упс
Oct 26, 2017
bc95a41
Merge pull request #29 from DuskDev/test
toxydose Oct 26, 2017
1380358
убрал поиск строительных репортов в группах и чатах.
toxydose Oct 26, 2017
2e369d1
пропущенный коммит
toxydose Oct 26, 2017
e8986e9
Merge pull request #27 from DuskDev/toxydose
ruckus-dj Oct 26, 2017
077a859
Сообщения об удалении по неактивности админам и в отряд, а заодно отк…
Oct 27, 2017
ad2b248
При удалении отряда вычищаем его из списков рассылки
Oct 27, 2017
95826d1
Фиксы по стройкам
Oct 27, 2017
38af0ea
счетчик строй репортов
toxydose Oct 31, 2017
d60a5c4
Фикс статистики и удаления картинок
Oct 31, 2017
ebe17d6
Правильный фикс статистики и удаления картинок
Oct 31, 2017
31f2818
Merge pull request #30 from DuskDev/toxydose
ruckus-dj Oct 31, 2017
afb49c5
Merge remote-tracking branch 'origin/master'
Oct 31, 2017
eae432c
PY-2017.2.3 <rucku@DESKTOP-UOGVR34 Create vcs.xml
Nov 2, 2017
54316a6
PY-2017.2.3 <rucku@DESKTOP-UOGVR34 Merge branch 'master'
Nov 2, 2017
6a10937
PY-2017.2.3 <rucku@DESKTOP-UOGVR34 Create ignore.xml, ide.general.xml…
Nov 2, 2017
5c07420
Функция созыва отряда
Nov 2, 2017
1a4e110
Merge branch 'test'
Nov 2, 2017
a19ca17
Показ репортов
Nov 2, 2017
8a0dc19
Merge branch 'test'
Nov 2, 2017
f2a8b59
Небольшая поправочка
Nov 2, 2017
dd77828
Merge branch 'test'
Nov 2, 2017
b77b093
И админпанельку вернём
Nov 2, 2017
c0fef9a
Merge branch 'test'
Nov 2, 2017
85ebd2c
Непоняточка с join вышла
Nov 2, 2017
9c0089d
Merge branch 'test'
Nov 2, 2017
231f84a
Ещё небольшая поправочка
Nov 2, 2017
fcfd48b
Merge branch 'test'
Nov 2, 2017
7bab4f9
Теперь всё как должно
Nov 2, 2017
e159eb0
Merge branch 'test'
Nov 2, 2017
2153540
Фикс необходимости двух кликов по приказу
Nov 7, 2017
6c20b40
PY-2017.2.3 <rucku@DESKTOP-UOGVR34 Create find.xml
Nov 7, 2017
3bc931a
Приказы без кнопки.
Nov 7, 2017
767f015
Merge branch 'test'
Nov 7, 2017
7359647
Фастфикс
Nov 7, 2017
bbd343b
Merge branch 'test'
Nov 7, 2017
d76ddf9
Фастфикс2
Nov 7, 2017
4846577
Merge branch 'test'
Nov 7, 2017
266c3e2
Изменено отображение репортов
Nov 7, 2017
89c21a5
Теперь репорты выглядят ещё красивей
Nov 7, 2017
4c7804a
Репорты теперь можно полистать
Nov 7, 2017
cb0f674
Merge branch 'test'
Nov 7, 2017
4e5e0f0
PY-2017.2.3 <rucku@DESKTOP-UOGVR34 Merge branch 'master'
Nov 9, 2017
3338f76
PY-2017.2.4 <rucku@DESKTOP-UOGVR34 Update ignore.xml
Nov 9, 2017
778b06a
PY-2017.2.4 <rucku@DESKTOP-UOGVR34 Create applicationLibraries.xml
Nov 10, 2017
3f4bbe6
PY-2017.2.4 <rucku@DESKTOP-UOGVR34 Update applicationLibraries.xml
Nov 13, 2017
6c1ae0d
PY-2017.2.4 <rucku@DESKTOP-UOGVR34 Update applicationLibraries.xml
Nov 13, 2017
9aae4db
PY-2017.2.4 <rucku@DESKTOP-UOGVR34 Update applicationLibraries.xml
Nov 14, 2017
53e247f
PY-2017.2.4 <rucku@DESKTOP-UOGVR34 Create ui.lnf.xml
Nov 14, 2017
222dba4
Логирование всех операций
Nov 15, 2017
2019175
Merge branch 'test'
ruckus-dj Nov 15, 2017
98a241c
"Хочу в отряд" теперь внутри кнопки "отряд"
toxydose Nov 20, 2017
3a0f11b
Фикс зависимостей
ruckus-dj Nov 21, 2017
ab56182
Перестановки кнопок, исправлен баг в прошлом коммите.
toxydose Nov 21, 2017
c7783aa
фикс ошибки при прожатии /start юзера которого нету в боте
toxydose Nov 21, 2017
b2813f1
Merge pull request #33 from DuskDev/toxydose
ruckus-dj Nov 21, 2017
21a6a93
Merge remote-tracking branch 'origin/master' into test
ruckus-dj Nov 21, 2017
b01730b
Фастфикс логов
Nov 23, 2017
b7a4546
Merge remote-tracking branch 'origin/master'
Nov 23, 2017
04276a0
Merge branch 'test'
Nov 23, 2017
14a5be4
Мутим авторизацию на сайте
Nov 24, 2017
77b5a24
В сообщение кика людей по старым профилям добавился юзернейм
toxydose Nov 27, 2017
cf64ac7
переименовал id на token. Сделал обычный линк без ?
toxydose Nov 27, 2017
c059b66
линк
toxydose Nov 27, 2017
7e8db04
Merge pull request #34 from DuskDev/toxydose
ruckus-dj Nov 27, 2017
d35710a
Merge remote-tracking branch 'origin/master'
ruckus-dj Nov 27, 2017
6d1fe66
двоеточие))))
toxydose Nov 27, 2017
b3432e6
Merge pull request #37 from DuskDev/toxydose
ruckus-dj Nov 27, 2017
a5ba794
Merge branch 'test'
ruckus-dj Nov 27, 2017
8066349
PY-2017.2.4 <rucku@DESKTOP-UOGVR34 Merge branch 'master'
Nov 28, 2017
eb94cf2
PY-2017.3 <rucku@DESKTOP-UOGVR34 Update ignore.xml
Nov 30, 2017
e048e48
another math in average exp
eclipse7 Dec 1, 2017
c098147
reports count
toxydose Dec 2, 2017
72ed141
Merge pull request #38 from DuskDev/toxydose
ruckus-dj Dec 3, 2017
802be46
Стройкотоп
ruckus-dj Dec 3, 2017
16b70fa
Фастфикс
ruckus-dj Dec 3, 2017
418dda1
PY-2017.3 <rucku@DESKTOP-UOGVR34 Create baseRefactoring.xml
Dec 4, 2017
231b599
Add days counter to level up
eclipse7 Dec 4, 2017
da1d69c
Fix days text
eclipse7 Dec 5, 2017
2785094
fast fix
eclipse7 Dec 5, 2017
1d936e9
PY-2017.3 <rucku@DESKTOP-UOGVR34 Update vcs.xml Create usageView.xml
Dec 5, 2017
8738c00
Merge pull request #40 from DuskDev/luna
ruckus-dj Dec 5, 2017
13cc720
fix zeroExp
eclipse7 Dec 5, 2017
74b67b1
fix endpoint
eclipse7 Dec 5, 2017
0eb0eb7
Merge pull request #42 from DuskDev/luna
ruckus-dj Dec 5, 2017
ea106ca
Новые топы часть первая.
Dec 5, 2017
b2aa649
Фастфикс логина
ruckus-dj Dec 5, 2017
540e89e
Merge branch 'fastfix' into test
ruckus-dj Dec 5, 2017
081339a
Новые топы часть последняя.
Dec 6, 2017
1492434
Merge remote-tracking branch 'origin/test' into test
Dec 6, 2017
179778f
Fix db encoding
eclipse7 Dec 7, 2017
adc24d0
Merge pull request #43 from DuskDev/luna
ruckus-dj Dec 7, 2017
704af7f
Порядок кнопок приказов изменён. Теперь флаг из настроек выводится по…
Dec 8, 2017
f06a783
Merge remote-tracking branch 'origin/master'
Dec 8, 2017
560a040
Merge branch 'test'
Dec 8, 2017
c44f3d1
Снова левые xml :/
Dec 8, 2017
ba405f7
PY-2017.3 <rucku@DESKTOP-UOGVR34 Update applicationLibraries.xml
Dec 8, 2017
257748b
Стройкорепорты принимаются только за последние 5 минут
ruckus-dj Dec 10, 2017
e1dd587
Обновление тыкнувших раз в 5 секунд
ruckus-dj Dec 10, 2017
3e4c2ec
Дата страта топа
ruckus-dj Dec 10, 2017
4138fd9
Отчёт о стройке не старше 10 минут
ruckus-dj Dec 10, 2017
8210b49
Merge branch 'test'
ruckus-dj Dec 10, 2017
5789dbc
Переделываем под eu
ruckus-dj Dec 10, 2017
969affd
Пара фиксов с профилем
ruckus-dj Dec 10, 2017
ada7acf
Правка недельных топов
ruckus-dj Dec 10, 2017
e14fa37
Merge branch 'test'
ruckus-dj Dec 10, 2017
d659577
Merge branch 'master' into Moonlight
ruckus-dj Dec 10, 2017
b4d8b0d
Фикс топов
ruckus-dj Dec 10, 2017
9881c50
Merge branch 'test'
ruckus-dj Dec 10, 2017
3e5280f
PY-2017.3 <rucku@DESKTOP-UOGVR34 Merge branch 'master'
Dec 11, 2017
86cfb89
PY-2017.3 <rucku@DESKTOP-UOGVR34 Create ignore.xml, filetypes.xml, ed…
Dec 11, 2017
a6b053e
PY-2017.3 <rucku@DESKTOP-UOGVR34 Create git.xml
Dec 11, 2017
c80ee2f
PY-2017.3 <rucku@DESKTOP-UOGVR34 Create ui.lnf.xml, vcs.xml
Dec 11, 2017
8201baf
поменял эмодзи на кнопках
toxydose Dec 11, 2017
7b70b83
Merge pull request #44 from DuskDev/toxydose
ruckus-dj Dec 11, 2017
0a53cde
Что-то там с юзернэймами
Dec 11, 2017
7542219
Merge branch 'test'
Dec 11, 2017
8cf035b
Что, а5?
Dec 11, 2017
16fafa6
PY-2017.3 <rucku@DESKTOP-UOGVR34 Update vcs.xml
Dec 11, 2017
ff5c623
поменял эмодзи на кнопках2
toxydose Dec 11, 2017
0b0a692
поменял эмодзи на кнопках2
toxydose Dec 11, 2017
de42b52
поменял эмодзи на кнопках2
toxydose Dec 11, 2017
02dca48
Set minimum character level when applying for squad membership.
Dec 11, 2017
7ffae70
Add newline.
Dec 11, 2017
d6121cc
Add minimum level restriction to squad invite function.
Dec 12, 2017
f9ae5c5
Merge pull request #45 from DuskDev/toxydose
ruckus-dj Dec 12, 2017
a2e971a
Merge branch 'test'
Dec 12, 2017
8fcf76b
Вроде новый формат времени, но не тестил.
Dec 12, 2017
faf1124
Atack symbol. Again....
Dec 12, 2017
203e523
Atack symbol. Again....
Dec 12, 2017
607b70b
PY-2017.3 <rucku@DESKTOP-UOGVR34 Create markdown.xml
Dec 12, 2017
059cc6c
Remove age limit on invites, make leaving squad possible if you are b…
Dec 12, 2017
2284504
Merge pull request #47 from DuskDev/soljarka-MinSquadMemberLvl
ruckus-dj Dec 13, 2017
3570b10
Merge branch 'master' into Moonlight
Dec 13, 2017
456af02
Тестим сдвиг реаортов на 1 час назад
Dec 13, 2017
81b5d6d
Тексты
Dec 13, 2017
c848296
Фиксики хардкода
Dec 13, 2017
3068ed5
Merge remote-tracking branch 'origin/test' into test
Dec 13, 2017
3446aa4
Merge branch 'test'
Dec 13, 2017
173a499
Merge branch 'master' into Moonlight
Dec 13, 2017
9d740a0
Для мунлайта 1 лвл пока норм
Dec 13, 2017
6a5a65e
Time fix
Dec 13, 2017
49fdb7a
Merge branch 'test'
Dec 13, 2017
ce4c458
Merge branch 'master' into Moonlight
Dec 13, 2017
7b259b0
Битвы смещены
Dec 13, 2017
bbf7ac2
PY-2017.3 <rucku@DESKTOP-UOGVR34 Create find.xml
Dec 13, 2017
ec937a4
Fix exp in reports
Dec 13, 2017
10ec7d6
Fix reports
Dec 13, 2017
9dad3f4
Fix reports
Dec 13, 2017
8b655c3
Fix battle times
Dec 13, 2017
0f34223
Texts
Dec 13, 2017
e0403ee
Constants
Dec 14, 2017
f534bf6
Merge branch 'test'
Dec 14, 2017
533afd0
Merge branch 'master' into Moonlight
Dec 14, 2017
a0e1c9c
Сорян, так надо.
Dec 14, 2017
6b2138c
И снова время
Dec 14, 2017
41c71c7
наброски на инлайн кнопки переспрашивалки
toxydose Dec 16, 2017
a740954
Переспрашивалка лива с отряда
toxydose Dec 17, 2017
7c08b64
изменения текста
toxydose Dec 17, 2017
c07f95b
чтоб не менять
toxydose Dec 17, 2017
ccf0735
фиксики
toxydose Dec 18, 2017
d8619ab
Merge pull request #48 from DuskDev/toxydose
ruckus-dj Dec 18, 2017
9fd4fde
PY-2017.3 <rucku@DESKTOP-UOGVR34 Merge branch 'master'
Dec 20, 2017
5218958
PY-2017.3 <rucku@DESKTOP-UOGVR34 Create ignore.xml, filetypes.xml, la…
Dec 21, 2017
0bcd64e
Silence time fix
Dec 21, 2017
106128c
Фикс терний и прветов капельку.
Dec 21, 2017
2ced545
Merge remote-tracking branch 'origin/test' into test
Dec 21, 2017
fa3b249
Фиксы связанные с неодобренными заявками
Dec 22, 2017
e6d9b15
Merge branch 'test' into Moonlight
ruckus-dj Dec 24, 2017
61cf630
Рефакторинг ухода с отряда, нужны тесты
Dec 25, 2017
9fc1dc6
Лишние импорты
Dec 25, 2017
cbc352a
Текст перед битвой
ruckus-dj Dec 26, 2017
aaf2a70
Вроде теперь все тексты (по крайней мере языкозависимые) перенесены в…
Dec 27, 2017
614e39a
Merge branch 'test'
Dec 27, 2017
ed4035b
Никогда больше не торогайте это в тесте и мастере :/
Dec 27, 2017
9e8cf95
Merge branch 'test'
Dec 27, 2017
9352bad
Merge branch 'master' into Moonlight
Dec 27, 2017
9fda80f
Merge remote-tracking branch 'origin/Moonlight' into Moonlight
Dec 27, 2017
219480a
Снова мусор
Dec 27, 2017
882be98
Merge branch 'master' into Moonlight
Dec 27, 2017
30ed006
translating commands from RU to ENG
Dec 27, 2017
c2c5028
Merge pull request #49 from DuskDev/command_translation
ruckus-dj Dec 27, 2017
74f88cb
Теперь вроде все тексты в отдельных файлах и можно нормально переводить
ruckus-dj Dec 27, 2017
27a24d9
Merge remote-tracking branch 'origin/master'
ruckus-dj Dec 27, 2017
ed2e44d
Merge branch 'master' into Potato
ruckus-dj Dec 27, 2017
bb39692
Stock calculation
ruckus-dj Dec 27, 2017
c40f989
Merge branch 'master' into Moonlight
ruckus-dj Dec 27, 2017
1d1797e
Stock calculation
ruckus-dj Dec 27, 2017
ecdf1ca
Stock calculation fixed
ruckus-dj Dec 27, 2017
e210aff
Stock calculation fixed
ruckus-dj Dec 27, 2017
38ebfdb
Update texts.py
Shidimmah Dec 28, 2017
3bb401e
Merge pull request #50 from Shidimmah/patch-1
ruckus-dj Dec 28, 2017
7e40dc9
Now we can set special groups for function calls
Dec 28, 2017
611bc3c
Merge remote-tracking branch 'origin/test' into test
Dec 28, 2017
b9e6880
translating
Dec 28, 2017
9589799
Merge branch 'Potato' of https://github.com/DuskDev/HelperBot into co…
Dec 28, 2017
5d6943e
Two new roles
Dec 28, 2017
6c8aa6b
more translations
Dec 28, 2017
3ede6b8
last sentence
Dec 28, 2017
f78c4b9
fixing leading spaces
Dec 28, 2017
3786274
fixing leading spaces
Dec 28, 2017
caf8209
Merge pull request #51 from DuskDev/command_translation
ruckus-dj Dec 28, 2017
81e174d
translating MSG_SQUAD_ADD
Dec 28, 2017
aa43bfc
Merge pull request #52 from DuskDev/command_translation
ruckus-dj Dec 28, 2017
16bd519
Some cleanup
Dec 28, 2017
8ef8684
Merge remote-tracking branch 'origin/Potato' into Potato
Dec 28, 2017
e1182d4
fixing text
Dec 28, 2017
23a63e3
Squad kick fix
ruckus-dj Dec 28, 2017
f94f60e
Merge remote-tracking branch 'origin/test' into test
ruckus-dj Dec 28, 2017
3ec48a0
Merge branch 'test'
ruckus-dj Dec 28, 2017
9c2f788
Merge branch 'master' into Potato
ruckus-dj Dec 28, 2017
0ae23f5
Merge remote-tracking branch 'origin/Potato' into Potato
ruckus-dj Dec 28, 2017
dbf5b8f
Merge branch 'Potato' into command_translation
ruckus-dj Dec 28, 2017
637cd3a
Merge pull request #53 from DuskDev/command_translation
ruckus-dj Dec 28, 2017
9d432c8
text fix
Dec 28, 2017
2a1ba63
Some fixes with new rights
ruckus-dj Dec 28, 2017
86a2c41
Merge branch 'test'
ruckus-dj Dec 28, 2017
08094e4
Merge branch 'master' into Potato
ruckus-dj Dec 28, 2017
50fce83
text fix
Dec 28, 2017
ee244a5
update messages
Dec 29, 2017
bc7cb9b
Merge branch 'master' into Moonlight
ruckus-dj Dec 30, 2017
1c053a9
Kick from squad fix
ruckus-dj Dec 30, 2017
5141326
Merge branch 'test'
ruckus-dj Dec 30, 2017
178a2f9
Merge branch 'master' into Moonlight
ruckus-dj Dec 30, 2017
4e29a36
Merge pull request #55 from DuskDev/command_translation
ruckus-dj Dec 30, 2017
69f75f5
Merge branch 'master' into Potato
ruckus-dj Dec 30, 2017
2a57787
Battle reminder turned off
ruckus-dj Dec 30, 2017
9435564
Profile update
ruckus-dj Feb 11, 2018
33c8a94
Merge branch 'Moonlight' into Potato
ruckus-dj Feb 11, 2018
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -88,4 +88,6 @@ ENV/
# Rope project settings
.ropeproject
.idea/
config.py
config.py

.vscode
58 changes: 58 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,60 @@
# MasterBot
CW Master Castle Bot

# Trello taskboard:
[ТЫЦ](https://trello.com/b/mIKI2omk/%D1%81%D1%83%D0%BC%D1%80%D0%B0%D0%BA%D0%BE%D0%B1%D0%BE%D1%82)

### installation into venv (recommended):
```
virtualenv -p python3 .env #make sure you creating python3 venv
source .env/bin/activate
python3 -m pip install -r requirements.txt
```

### mysql database setup (only mysql is supported):

1)Install recent mysql-server distribution
e.g. for GNU/Linux:
```
sudo apt-get install mysql-server
```
2)create a root user (if it was not created during installation process)
```
sudo mysqladmin -u root password 'mynewpassword'
```
3)login to mysql as root:
```
sudo mysql -u root -h localhost -p
```
4)create a new user:
```
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypass';
```
5)grant privileges to the new user:
```
GRANT ALL PRIVILEGES ON * . * TO 'myuser'@'localhost';
exit
```
6)log in to your new user similarly to step (3).

7)create a new database
```
CREATE DATABASE 'test';
ALTER DATABASE 'test' CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
```
8)exit to CLI
```
exit
```
9)open the file 'config.py.sample', enter your new database user's credentials, database name and your telegram bot API token

10)You have to install python3-tk (if not yet installed) to properly run matplotlib requirement.
```
sudo apt-get install python3-tk
```

11)launch the bot:
```
python3 main.py
```
the mysql database schema will be created automatically by a built-in script.
12 changes: 12 additions & 0 deletions config.py.sample
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Содержимое этого файла необходимо скопировать в config.py и изменить под себя

TOKEN = '<SOME_TOKEN>' # Токен телеграмбота (получается у @BotFather)
DB = 'mysql+pymysql://<username>:<password>@<host>/<dbname>?charset=utf8mb4' # Строчка подключения к базе данных (поддерживается только MySql, о формате можно прочитать тут http://docs.sqlalchemy.org/en/latest/dialects/mysql.html)
API_PORT = 88 # Порт, по которому будет доступен внешний апи бота (REST)
GOVERNMENT_CHAT = -1001149271906 # Чат, в который бот будет слать отчёты
SUPER_ADMIN_ID = 0 # id супер админа
# вербовочный функционал:
CASTLE_CHAT_ID = None # id замкового чата (для поиска новых игроков в замке - если None - функционал отключен)
ACADEM_CHAT_ID = None # id чата академии (для уведомления о новых игроках в замке - если None - функционал отключен)
CASTLE = None # Флаг замка, который вы хотите обслуживать (например '🇮🇲'), оставьте None, чтобы не было ограничений
WEB_LINK = 'Please change it. {}'
2 changes: 1 addition & 1 deletion core/__init__.py
Original file line number Diff line number Diff line change
@@ -1 +1 @@
# -*- coding: utf-8 -*-
# -*- coding: utf-8 -*-
29 changes: 29 additions & 0 deletions core/chat_commands.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
CC_SET_WELCOME = 'welcome:'
CC_HELP = 'help'
CC_SQUAD = 'squad'
CC_SHOW_WELCOME = 'show welcome message'
CC_TURN_ON_WELCOME = 'turn on welcome message'
CC_TURN_OFF_WELCOME = 'turn off welcome message'
CC_SET_TRIGGER = 'trigger:'
CC_UNSET_TRIGGER = 'untrigger:'
CC_TRIGGER_LIST = 'trigger list'
CC_ADMIN_LIST = 'admin list'
CC_PING = 'ping'
CC_DAY_STATISTICS = 'daily stats'
CC_WEEK_STATISTICS = 'weekly stats'
CC_BATTLE_STATISTICS = 'battle stats'
CC_ALLOW_TRIGGER_ALL = 'allow everyone to trigger'
CC_DISALLOW_TRIGGER_ALL = 'prevent everyone from triggering'
CC_ADMINS = ['admins', 'commander']
CC_ALLOW_PIN_ALL = 'allow everyone to pin'
CC_DISALLOW_PIN_ALL = 'prevent everyone from pinning'
CC_BOSS_1 = ['бандит', 'краб']
CC_BOSS_2 = ['жало', 'королева роя']
CC_BOSS_3 = ['циклоп', 'борода']
CC_BOSS_4 = ['гидра', 'лич']
CC_OPEN_HIRING = 'open admissions'
CC_CLOSE_HIRING = 'close admissions'
CC_PIN = 'pin and notify'
CC_SILENT_PIN = 'pin'
CC_DELETE = 'delete'
CC_KICK = 'kick'
28 changes: 28 additions & 0 deletions core/commands.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
ADMIN_COMMAND_ORDER = '⚔Orders'
ADMIN_COMMAND_STATUS = '🔎Status'
ADMIN_COMMAND_GROUPS = '👥Groups'
ADMIN_COMMAND_RECRUIT = '📬Squad Requests'
ADMIN_COMMAND_FIRE_UP = '⛏Harvest'
ADMIN_COMMAND_SQUAD_LIST = '🗂Squad List'
ADMIN_COMMAND_ADMINPANEL = '🥔Admin Panel🥔'
ADMIN_COMMAND_REPORTS = '📜Reports'

USER_COMMAND_ME = '🏅Hero'
USER_COMMAND_TOP = '🌟Top'
USER_COMMAND_SQUAD = '⚜Squad'
USER_COMMAND_STATISTICS = '📊Statistics'
USER_COMMAND_BUILD = '🚧Coming Soon'
USER_COMMAND_CONTACTS = '💬Chat'
USER_COMMAND_SQUAD_REQUEST = '⚜Join Squad'
USER_COMMAND_SQUAD_LEAVE = '☄Leave Squad'

USER_COMMAND_BACK = '🔙Go Back'

TOP_COMMAND_ATTACK = '⚔'
TOP_COMMAND_DEFENCE = '🛡'
TOP_COMMAND_EXP = '🔥'
TOP_COMMAND_BUILD = '👷🏻'

TOP_COMMAND_BATTLES = '⛳️'

STATISTICS_COMMAND_EXP = '🔥XP'
3 changes: 3 additions & 0 deletions core/constants.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
MINIMUM_SQUAD_MEMBER_LEVEL = 5
DAYS_PROFILE_REMIND = 5
DAYS_OLD_PROFILE_KICK = 14
28 changes: 14 additions & 14 deletions core/enums.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,26 +4,26 @@

class Castle(Enum):
UNDEFINED = 0
BLACK = '\U0001f1ec\U0001f1f5'
RED = '\U0001f1ee\U0001f1f2'
BLUE = '\U0001f1ea\U0001f1fa'
YELLOW = '\U0001f1fb\U0001f1e6'
WHITE = '\U0001f1e8\U0001f1fe'
MINT = '\U0001F1F2\U0001F1F4'
DUSK = '\U0001F1F0\U0001F1EE'
BLACK = '🌑'
RED = '🐺'
BLUE = '🥔'
YELLOW = '🦅'
WHITE = '🦌'
MINT = '🐉'
DUSK = '🦈'
LES = '\U0001f332Лесной форт'
GORY = '\u26f0Горный форт'
SEA = '\u2693\uFE0FМорской форт'


class Icons(Enum):
BLACK = '\U0001f1ec\U0001f1f5'
RED = '\U0001f1ee\U0001f1f2'
BLUE = '\U0001f1ea\U0001f1fa'
YELLOW = '\U0001f1fb\U0001f1e6'
WHITE = '\U0001f1e8\U0001f1fe'
MINT = '\U0001F1F2\U0001F1F4'
DUSK = '\U0001F1F0\U0001F1EE'
BLACK = '🌑'
RED = '🐺'
BLUE = '🥔'
YELLOW = '🦅'
WHITE = '🦌'
MINT = '🐉'
DUSK = '🦈'
LES = '\U0001f332'
GORY = '\u26f0'
SEA = '\u2693\uFE0F'
64 changes: 27 additions & 37 deletions core/functions/activity.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
from datetime import datetime, timedelta

from telegram import Update, Bot
from core.types import AdminType, admin, Session, Squad

from core.texts import MSG_ORDER_STATISTIC, MSG_ORDER_STATISTIC_OUT_FORMAT
from core.types import AdminType, admin_allowed, Squad
from core.utils import send_async
from datetime import datetime, timedelta
from core.texts import *


def activity(squad, days=0, hours=0):
Expand All @@ -25,37 +27,25 @@ def activity(squad, days=0, hours=0):
return msg


@admin(adm_type=AdminType.GROUP)
def day_activity(bot: Bot, update: Update):
session = Session()
try:
squad = session.query(Squad).filter_by(chat_id=update.message.chat.id).first()
if squad is not None:
msg = activity(squad, days=1)
send_async(bot, chat_id=update.message.chat.id, text=msg)
except:
session.rollback()


@admin(adm_type=AdminType.GROUP)
def week_activity(bot: Bot, update: Update):
session = Session()
try:
squad = session.query(Squad).filter_by(chat_id=update.message.chat.id).first()
if squad is not None:
msg = activity(squad, days=7)
send_async(bot, chat_id=update.message.chat.id, text=msg)
except:
session.rollback()


@admin(adm_type=AdminType.GROUP)
def battle_activity(bot: Bot, update: Update):
session = Session()
try:
squad = session.query(Squad).filter_by(chat_id=update.message.chat.id).first()
if squad is not None:
msg = activity(squad, hours=4)
send_async(bot, chat_id=update.message.chat.id, text=msg)
except:
session.rollback()
@admin_allowed(adm_type=AdminType.GROUP)
def day_activity(bot: Bot, update: Update, session):
squad = session.query(Squad).filter_by(chat_id=update.message.chat.id).first()
if squad is not None:
msg = activity(squad, days=1)
send_async(bot, chat_id=update.message.chat.id, text=msg)


@admin_allowed(adm_type=AdminType.GROUP)
def week_activity(bot: Bot, update: Update, session):
squad = session.query(Squad).filter_by(chat_id=update.message.chat.id).first()
if squad is not None:
msg = activity(squad, days=7)
send_async(bot, chat_id=update.message.chat.id, text=msg)


@admin_allowed(adm_type=AdminType.GROUP)
def battle_activity(bot: Bot, update: Update, session):
squad = session.query(Squad).filter_by(chat_id=update.message.chat.id).first()
if squad is not None:
msg = activity(squad, hours=4)
send_async(bot, chat_id=update.message.chat.id, text=msg)
Loading