Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
30ce615
Merge pull request #1 from Dimus99/first
Liza148 Dec 9, 2020
db9af4e
add GitHub and NetAngels Interaction
Dec 9, 2020
a035857
init database file
Dec 9, 2020
498858d
Merge pull request #2 from Dimus99/init_other_files
Dimus99 Dec 9, 2020
2ffc7a4
тест для реализации скачивания проекта
Dec 11, 2020
8030d11
тест для реализации скачивания проекта
Dec 11, 2020
f06459d
ухх. добавил работу с гитхабом, скачивание пулл реквеста по ссылке на…
Dec 11, 2020
11a2782
ухх. добавил работу с гитхабом, скачивание пулл реквеста по ссылке на…
Dec 11, 2020
742fde6
bug
Dec 11, 2020
311d805
classes files
Dec 11, 2020
d45cb24
add git usage
Dec 11, 2020
eba3953
Merge pull request #3 from Dimus99/testPull
Dimus99 Dec 12, 2020
9138ad8
database
cudatuda Dec 12, 2020
b9b539b
Merge commit 'refs/pull/6/head' of https://github.com/Dimus99/telegra…
cudatuda Dec 12, 2020
b1a3d24
добавил метод для получения токена по айди юзера.
cudatuda Dec 13, 2020
c1a0361
Merge pull request #7 from Dimus99/db
cudatuda Dec 13, 2020
39035cd
добавлен класс program
cudatuda Dec 14, 2020
290b040
добавлен класс program
cudatuda Dec 15, 2020
84e0686
класс програм обновлен
cudatuda Dec 15, 2020
376c645
fix bug start and small refactoring
Dec 15, 2020
b14d47c
bug fixes
cudatuda Dec 15, 2020
bfaac9b
bug fixes
cudatuda Dec 15, 2020
e2d2162
Merge remote-tracking branch 'origin/database+bot' into database+bot
cudatuda Dec 15, 2020
aca44c7
bug fixes
cudatuda Dec 15, 2020
514751a
FIX BIG BUG
Dec 15, 2020
277976c
Merge pull request #9 from Dimus99/database+bot
Dimus99 Dec 15, 2020
714f0b8
Update README.md
cudatuda Dec 15, 2020
ab6530e
gitignore
Dec 15, 2020
d1f4e8f
add dir
Dec 15, 2020
afa497f
refactoring
Dec 15, 2020
54b42e3
реализация ssh соединения
cudatuda Dec 17, 2020
58a96db
Create TODO.md
cudatuda Dec 18, 2020
90bb2b2
Delete TODO.md
cudatuda Dec 18, 2020
e0cbf16
Update README.md
cudatuda Dec 18, 2020
6647058
исправления
cudatuda Dec 18, 2020
757c451
Merge remote-tracking branch 'origin/main' into main
cudatuda Dec 18, 2020
008f25e
Update README.md
cudatuda Dec 18, 2020
05c4ec5
refactoring
Dec 18, 2020
56b5c1e
Update README.md
Dimus99 Dec 18, 2020
182acbd
add dependency jsch
Dec 18, 2020
a96fbbf
test test
Dec 18, 2020
e148533
edit test
Dec 18, 2020
0f95c9f
Merge branch 'main' into ssh
Dimus99 Dec 18, 2020
60213f0
Merge pull request #10 from Dimus99/ssh
Dimus99 Dec 18, 2020
6b976c7
edit bugs
Dimus99 Dec 20, 2020
f8f70a7
NETANGELS API - в процессе, готовые функции -
Dimus99 Dec 21, 2020
9de6ed3
добавил логики в класс бота, разделил на функции, добавил энам и слов…
Dimus99 Dec 21, 2020
881fd9d
добавил логику в бота, соединил бота и использование API
Dimus99 Dec 21, 2020
7773440
зависимость jsch
cudatuda Dec 18, 2020
9ab5c92
много всего, разработка части с телеграммом
Dimus99 Dec 22, 2020
6686692
Merge pull request #12 from Dimus99/apiVDS
Dimus99 Dec 22, 2020
ceed8dd
добавлена функция выгрузки папки на сервер
cudatuda Dec 24, 2020
19fec1c
do ssh useful
Dimus99 Dec 24, 2020
7036a69
Merge pull request #13 from Dimus99/ssh
Dimus99 Dec 25, 2020
0d070c7
test test
Dimus99 Jan 5, 2021
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
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Default ignored files
/.idea/shelf/
/.idea/workspace.xml
/gitCopies/*
Config
3 changes: 0 additions & 3 deletions .idea/.gitignore

This file was deleted.

10 changes: 10 additions & 0 deletions .idea/codeStyles/Project.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 5 additions & 0 deletions .idea/codeStyles/codeStyleConfig.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions .idea/compiler.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

16 changes: 16 additions & 0 deletions .idea/dataSources.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 5 additions & 0 deletions .idea/jarRepositories.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

11 changes: 11 additions & 0 deletions .idea/libraries/sqlite_jdbc_3_8_10_1.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 7 additions & 0 deletions .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/sqldialects.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

124 changes: 124 additions & 0 deletions .idea/uiDesigner.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions .idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

11 changes: 10 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,12 @@
# telegramPullRequestBot
JAVA/Kotlin
Телеграм бот, принимает ссылку на pull request на гитхаб, возвращает ссылку на поднятую виртуальную машину(сайт). под копотом работает с Netangels как хостингом
Телеграм бот, принимает ссылку на pull request на гитхаб, возвращает ссылку на поднятую виртуальную машину(сайт). под капотом работает с Netangels как хостингом


# TODO
- [ ] рефакторинг бота
- [x] исправление синтаксических ошибок
- [x] токен в отдельный файл :)
- [x] переместить lib в корень проекта
- [ ] добавить обработку ошибок

File renamed without changes.
2 changes: 2 additions & 0 deletions bin/gitCopies/Dimus99_1/.idea/telegramPullRequestBot2.iml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions bin/gitCopies/Dimus99_2/.idea/telegramPullRequestBot2.iml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions bin/gitCopies/Dimus99_3/.idea/telegramPullRequestBot2.iml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions bin/gitCopies/Dimus99_6/.idea/telegramPullRequestBot2.iml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions bin/gitCopies/Dimus99_6/TelegramPullRequestBot.iml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4" />
Binary file added bin/src/main/java/database/db.class
Binary file not shown.
Binary file added databases/users.db
Binary file not shown.
Empty file added gitCopies/1
Empty file.
Binary file added lib/jsch-0.1.55.jar
Binary file not shown.
Binary file added lib/sqlite-jdbc-3.8.10.1.jar
Binary file not shown.
13 changes: 13 additions & 0 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -11,19 +11,32 @@
<properties>
<maven.compiler.source>15</maven.compiler.source>
<maven.compiler.target>15</maven.compiler.target>
<kotlin.version>1.4.21</kotlin.version>
</properties>
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>


<dependencies>
<dependency>
<groupId>com.github.jkcclemens</groupId>
<artifactId>khttp</artifactId>
<version>0.1.0</version>
</dependency>
<dependency>
<groupId>io.github.kotlin-telegram-bot.kotlin-telegram-bot</groupId>
<artifactId>telegram</artifactId>
<version>4.5.0</version>
</dependency>
<dependency>
<groupId>com.jcraft</groupId>
<artifactId>jsch</artifactId>
<version>0.1.55</version>
</dependency>
</dependencies>

</project>
77 changes: 77 additions & 0 deletions src/main/java/DataBase.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
import java.sql.*;
import java.util.Objects;

public class DataBase {
static Connection conn;
String databaseName;


//Конструктор с подключением к бд
//В переменной path должно находится расположние файла с бд (имя файла и самой таблицы должны сопадать)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Может не таблицы, а базы данных?

public DataBase(String path) {

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Думаю, было бы лучше принимать в аргументах и путь и имя базы данных. Тогда не придётся сплитить строку и что-то там доставать.

databaseName = path.split("\\W+")[path.split("\\W+").length - 2];

try {
Class.forName("org.sqlite.JDBC");
path = "jdbc:sqlite:".concat(path);
conn = DriverManager.getConnection(path);
System.out.println("successfully connected to '" + databaseName + "'");
} catch (Exception e) {
System.out.println(e.getMessage());
}
}

// Добавляем запись в бд
// Этот же метод используется для изменения уже существующих данных

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Не кажется хорошим идея использовать один и тот же метод и для добавления и для изменения данных. А это это логика даже в названии метода не прослеживается.

public void addData(String id, String token) throws SQLException {
// Создаем ввод команды SQLite
String query =

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Я не помню, есть ли такая возможность в котлине, но может лучше использовать интерполяцию строк?

"INSERT INTO " + databaseName + " (%s, %s) ".formatted("id", "token") +
"VALUES ('%s', '%s');".formatted(id, token);
// Пробуем создать новую запись
try {
Statement statement = conn.createStatement();
statement.executeUpdate(query);
} catch (Exception e)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Тут же может произойти какое-то исключение не связанное с тем, что такой id уже существует. В таком случае выполнение блока finally может привести ещё к какой-то ошибке. Тут нужно использовать сначала проверку на одно конкретное исключение существования id, а потом проверять отдельно на прочие исключения.

{
System.out.println(e.getMessage());
}
// Если запись с таки id уже существует, изменяем ее
finally {
query =

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

image
Интерполяция лучше.

"UPDATE " + databaseName + " " +
"SET token = \"%s\"".formatted(token) +
"WHERE id = \"%s\";".formatted(id);
Statement statement = conn.createStatement();
statement.executeUpdate(query);
}

System.out.println("data added");
}

// По названию и так понятен функционал
public String getTokenById(String id) throws SQLException {

ResultSet resSet;

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Лучше объявить эту переменную в месте её присвоения. Меньше строк будет.

String res = null;

String query =
"SELECT token FROM " + databaseName + " WHERE id = \"" + id + "\";";

try
{
Statement statement = conn.createStatement();
resSet = statement.executeQuery(query);

} catch (Exception e) {
System.out.println(e.getMessage());
return "";
}

while (Objects.requireNonNull(resSet).next()) {
res = resSet.getString("token");
}

return res;
}
}
Loading