Added isProduction config, starting with docker plugin
This commit is contained in:
93
.gitignore
vendored
93
.gitignore
vendored
@@ -19,19 +19,8 @@ project/plugins/project/
|
||||
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and WebStorm
|
||||
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
|
||||
|
||||
# User-specific stuff
|
||||
.idea/**/workspace.xml
|
||||
.idea/**/tasks.xml
|
||||
.idea/**/dictionaries
|
||||
.idea/**/shelf
|
||||
|
||||
# Sensitive or high-churn files
|
||||
.idea/**/dataSources/
|
||||
.idea/**/dataSources.ids
|
||||
.idea/**/dataSources.local.xml
|
||||
.idea/**/sqlDataSources.xml
|
||||
.idea/**/dynamic.xml
|
||||
.idea/**/uiDesigner.xml
|
||||
# Idea stuff
|
||||
.idea/
|
||||
|
||||
# Gradle
|
||||
.idea/**/gradle.xml
|
||||
@@ -67,3 +56,81 @@ fabric.properties
|
||||
|
||||
# Editor-based Rest Client
|
||||
.idea/httpRequests
|
||||
### SBT template
|
||||
# Simple Build Tool
|
||||
# http://www.scala-sbt.org/release/docs/Getting-Started/Directories.html#configuring-version-control
|
||||
|
||||
dist/*
|
||||
target/
|
||||
lib_managed/
|
||||
src_managed/
|
||||
project/boot/
|
||||
project/plugins/project/
|
||||
.history
|
||||
.cache
|
||||
.lib/
|
||||
### JetBrains template
|
||||
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and WebStorm
|
||||
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
|
||||
|
||||
# User-specific stuff
|
||||
.idea/**/workspace.xml
|
||||
.idea/**/tasks.xml
|
||||
.idea/**/usage.statistics.xml
|
||||
.idea/**/dictionaries
|
||||
.idea/**/shelf
|
||||
|
||||
# Sensitive or high-churn files
|
||||
.idea/**/dataSources/
|
||||
.idea/**/dataSources.ids
|
||||
.idea/**/dataSources.local.xml
|
||||
.idea/**/sqlDataSources.xml
|
||||
.idea/**/dynamic.xml
|
||||
.idea/**/uiDesigner.xml
|
||||
.idea/**/dbnavigator.xml
|
||||
|
||||
# Gradle
|
||||
.idea/**/gradle.xml
|
||||
.idea/**/libraries
|
||||
|
||||
# Gradle and Maven with auto-import
|
||||
# When using Gradle or Maven with auto-import, you should exclude module files,
|
||||
# since they will be recreated, and may cause churn. Uncomment if using
|
||||
# auto-import.
|
||||
# .idea/modules.xml
|
||||
# .idea/*.iml
|
||||
# .idea/modules
|
||||
|
||||
# CMake
|
||||
cmake-build-*/
|
||||
|
||||
# Mongo Explorer plugin
|
||||
.idea/**/mongoSettings.xml
|
||||
|
||||
# File-based project format
|
||||
*.iws
|
||||
|
||||
# IntelliJ
|
||||
out/
|
||||
|
||||
# mpeltonen/sbt-idea plugin
|
||||
.idea_modules/
|
||||
|
||||
# JIRA plugin
|
||||
atlassian-ide-plugin.xml
|
||||
|
||||
# Cursive Clojure plugin
|
||||
.idea/replstate.xml
|
||||
|
||||
# Crashlytics plugin (for Android Studio and IntelliJ)
|
||||
com_crashlytics_export_strings.xml
|
||||
crashlytics.properties
|
||||
crashlytics-build.properties
|
||||
fabric.properties
|
||||
|
||||
# Editor-based Rest Client
|
||||
.idea/httpRequests
|
||||
### Scala template
|
||||
*.class
|
||||
*.log
|
||||
|
||||
|
||||
5
.idea/codeStyles/codeStyleConfig.xml
generated
5
.idea/codeStyles/codeStyleConfig.xml
generated
@@ -1,5 +0,0 @@
|
||||
<component name="ProjectCodeStyleConfiguration">
|
||||
<state>
|
||||
<option name="PREFERRED_PROJECT_CODE_STYLE" value="Leveris-scala" />
|
||||
</state>
|
||||
</component>
|
||||
4
.idea/encodings.xml
generated
4
.idea/encodings.xml
generated
@@ -1,4 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="Encoding" addBOMForNewFiles="with NO BOM" />
|
||||
</project>
|
||||
9
.idea/hydra.xml
generated
9
.idea/hydra.xml
generated
@@ -1,9 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="HydraSettings">
|
||||
<option name="hydraStorePath" value="$PROJECT_DIR$/.hydra/idea" />
|
||||
<option name="noOfCores" value="2" />
|
||||
<option name="projectRoot" value="$PROJECT_DIR$" />
|
||||
<option name="sourcePartitioner" value="auto" />
|
||||
</component>
|
||||
</project>
|
||||
53
.idea/modules/telegram-bot.iml
generated
53
.idea/modules/telegram-bot.iml
generated
@@ -1,53 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module external.linked.project.id="telegram-bot [file:/home/nnm/development/telegram-bot1/]" external.linked.project.path="$MODULE_DIR$/../../telegram-bot" external.root.project.path="$MODULE_DIR$/../.." external.system.id="SBT" type="JAVA_MODULE" version="4">
|
||||
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
|
||||
<output url="file://$MODULE_DIR$/../../telegram-bot/target/scala-2.12/classes" />
|
||||
<output-test url="file://$MODULE_DIR$/../../telegram-bot/target/scala-2.12/test-classes" />
|
||||
<exclude-output />
|
||||
<content url="file://$MODULE_DIR$/../../telegram-bot">
|
||||
<sourceFolder url="file://$MODULE_DIR$/../../telegram-bot/src/main/scala" isTestSource="false" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/../../telegram-bot/src/test/scala" isTestSource="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/../../telegram-bot/target/scala-2.12/src_managed/main" isTestSource="false" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/../../telegram-bot/target/scala-2.12/src_managed/test" isTestSource="true" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/../../telegram-bot/src/main/resources" type="java-resource" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/../../telegram-bot/target" />
|
||||
</content>
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
<orderEntry type="library" name="sbt: com.chuusai:shapeless_2.12:2.3.3:jar" level="project" />
|
||||
<orderEntry type="library" name="sbt: com.typesafe.akka:akka-testkit_2.12:2.5.19:jar" level="project" />
|
||||
<orderEntry type="library" name="sbt: com.typesafe.akka:akka-stream_2.12:2.5.19:jar" level="project" />
|
||||
<orderEntry type="library" name="sbt: com.typesafe.akka:akka-protobuf_2.12:2.5.19:jar" level="project" />
|
||||
<orderEntry type="library" name="sbt: com.typesafe.akka:akka-persistence_2.12:2.5.19:jar" level="project" />
|
||||
<orderEntry type="library" name="sbt: com.typesafe.akka:akka-persistence-typed_2.12:2.5.19:jar" level="project" />
|
||||
<orderEntry type="library" name="sbt: com.typesafe.akka:akka-actor_2.12:2.5.19:jar" level="project" />
|
||||
<orderEntry type="library" name="sbt: com.typesafe.akka:akka-actor-typed_2.12:2.5.19:jar" level="project" />
|
||||
<orderEntry type="library" name="sbt: com.typesafe.akka:akka-actor-testkit-typed_2.12:2.5.19:jar" level="project" />
|
||||
<orderEntry type="library" name="sbt: org.fusesource.leveldbjni:leveldbjni-all:1.8:jar" level="project" />
|
||||
<orderEntry type="library" name="sbt: de.heikoseeberger:akka-http-circe_2.12:1.22.0:jar" level="project" />
|
||||
<orderEntry type="library" name="sbt: org.typelevel:machinist_2.12:0.6.5:jar" level="project" />
|
||||
<orderEntry type="library" name="sbt: org.typelevel:cats-macros_2.12:1.4.0:jar" level="project" />
|
||||
<orderEntry type="library" name="sbt: org.typelevel:cats-kernel_2.12:1.4.0:jar" level="project" />
|
||||
<orderEntry type="library" name="sbt: org.typelevel:cats-core_2.12:1.4.0:jar" level="project" />
|
||||
<orderEntry type="library" name="sbt: org.spire-math:jawn-parser_2.12:0.13.0:jar" level="project" />
|
||||
<orderEntry type="library" name="sbt: org.scala-lang.modules:scala-parser-combinators_2.12:1.1.1:jar" level="project" />
|
||||
<orderEntry type="library" name="sbt: io.circe:circe-parser_2.12:0.10.0:jar" level="project" />
|
||||
<orderEntry type="library" name="sbt: io.circe:circe-numbers_2.12:0.10.0:jar" level="project" />
|
||||
<orderEntry type="library" name="sbt: io.circe:circe-jawn_2.12:0.10.0:jar" level="project" />
|
||||
<orderEntry type="library" name="sbt: io.circe:circe-generic_2.12:0.10.0:jar" level="project" />
|
||||
<orderEntry type="library" name="sbt: io.circe:circe-core_2.12:0.10.0:jar" level="project" />
|
||||
<orderEntry type="library" name="sbt: com.typesafe.akka:akka-parsing_2.12:10.1.5:jar" level="project" />
|
||||
<orderEntry type="library" name="sbt: com.typesafe.akka:akka-http_2.12:10.1.5:jar" level="project" />
|
||||
<orderEntry type="library" name="sbt: com.typesafe.akka:akka-http-core_2.12:10.1.5:jar" level="project" />
|
||||
<orderEntry type="library" name="sbt: com.typesafe:config:1.3.3:jar" level="project" />
|
||||
<orderEntry type="library" name="sbt: org.reactivestreams:reactive-streams:1.0.2:jar" level="project" />
|
||||
<orderEntry type="library" name="sbt: org.scala-lang.modules:scala-java8-compat_2.12:0.8.0:jar" level="project" />
|
||||
<orderEntry type="library" scope="TEST" name="sbt: org.scala-lang.modules:scala-xml_2.12:1.0.6:jar" level="project" />
|
||||
<orderEntry type="library" scope="TEST" name="sbt: org.scalactic:scalactic_2.12:3.0.5:jar" level="project" />
|
||||
<orderEntry type="library" scope="TEST" name="sbt: org.scalatest:scalatest_2.12:3.0.5:jar" level="project" />
|
||||
<orderEntry type="library" name="sbt: org.typelevel:macro-compat_2.12:1.1.1:jar" level="project" />
|
||||
<orderEntry type="library" name="sbt: com.typesafe:ssl-config-core_2.12:0.3.6:jar" level="project" />
|
||||
<orderEntry type="library" name="sbt: org.scala-lang:scala-library:2.12.8:jar" level="project" />
|
||||
<orderEntry type="library" name="sbt: org.scala-lang:scala-reflect:2.12.8:jar" level="project" />
|
||||
</component>
|
||||
</module>
|
||||
16
.idea/modules/telegram-bot1.iml
generated
16
.idea/modules/telegram-bot1.iml
generated
@@ -1,16 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module external.linked.project.id="telegram-bot1 [file:/home/nnm/development/telegram-bot1/]" external.linked.project.path="$MODULE_DIR$/../.." external.root.project.path="$MODULE_DIR$/../.." external.system.id="SBT" type="JAVA_MODULE" version="4">
|
||||
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
|
||||
<output url="file://$MODULE_DIR$/../../target/scala-2.12/classes" />
|
||||
<output-test url="file://$MODULE_DIR$/../../target/scala-2.12/test-classes" />
|
||||
<exclude-output />
|
||||
<content url="file://$MODULE_DIR$/../..">
|
||||
<sourceFolder url="file://$MODULE_DIR$/../../target/scala-2.12/src_managed/main" isTestSource="false" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/../../target/scala-2.12/src_managed/test" isTestSource="true" generated="true" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/../../target" />
|
||||
</content>
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
<orderEntry type="library" name="sbt: org.scala-lang:scala-library:2.12.8:jar" level="project" />
|
||||
</component>
|
||||
</module>
|
||||
@@ -25,3 +25,4 @@ lazy val `telegram-bot` = (project in file("telegram-bot"))
|
||||
circeAkkaHttp
|
||||
)
|
||||
)
|
||||
.enablePlugins(DockerPlugin)
|
||||
|
||||
28
keys/telegram-bot.key
Normal file
28
keys/telegram-bot.key
Normal file
@@ -0,0 +1,28 @@
|
||||
-----BEGIN PRIVATE KEY-----
|
||||
MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQDWwewslKtWJ7ye
|
||||
YrxDuoh5PS7y5/C/0NT6tsAAsh3ZVCqdeNvYj56n8jVob/jJ9EYMqKj7dXLAMopD
|
||||
htuwdDN/KhW9QVkKzATE1wNxuV3aBVUTJuHHadUYQa7pVevvssAIa1XQ6NvU0pkw
|
||||
dDApylOj1TkA9MFlZWHWlF0dgrVyGjFxDoWdjm2aLCdRpZCr0giTOfZ5E+OJNALT
|
||||
HcuJO+PRKdEreO1YVAlT2Sk26f8/iG63C2/t7xWTyJKOjFPxwq3+dkNfJ1AXZ4I7
|
||||
aFDgP7BKogvooYuCBItqog+IRUOoK9Yj24KCUxD+gaI5+tv0j1ov5d0ZAqqaiSql
|
||||
96s2/jyZAgMBAAECggEAb5P9owPzKSYoJ5pg+kd2FJenRuke+moD3ecJRtNEEuBZ
|
||||
68sZXiDwa426FfLnLfZOVtFiSpOw9Q7NK1xr0/frsYwqE1RacPOjHqofzfxjOJ1A
|
||||
oFy5PaRM5PdraywLE1Sp1TX/NjVl0eNBWB1l0LCgWCS2IzsHKClOdfBLmMOKhicF
|
||||
4iut9L08ATLPnN+QbqZITCjuW2VCXp7W1X2llnjFNz+wNpifuujSXwdXkLQ/0M8O
|
||||
Ndtdm/kec1d2VrRFmuvDoh7jaW2q+IQoIJRC4Vms9q6zKoMyuT3dPyluiWq3/mB0
|
||||
38tsnh/bk50CIAp7IIKRS89v1+3xxbNRnOV0V2PoaQKBgQD0XY1vHMZhmR30V83t
|
||||
OYNXe6fcLXZRUmz0XqLUnZ6aJTCxYqke65iytisHvcivCH5LovKxaVWw5qhwBLIB
|
||||
QpCywgtfn+BUiDZc1feMbWcogLuxjNi+1wKpSr/I8IQZBdFAxDP5aHXWneio/xTH
|
||||
VDugiWlp4pQ0Eg9XyeJ9b6vu3wKBgQDg+35ww+lRSj9/lyHszxvM6BsJxH+eqk+A
|
||||
8Sk/N0qeSH+d1cRgQRdSxIWtcxY2W+NVq5CLsugjKGmENzi0woWr6xCkj39eCIt3
|
||||
fbyljRSo7UiiUKtkt0XcUAqXaKKWF+R18e3nfWdT0swGcIAEg7bopvoRv9qE4Xwo
|
||||
1oayWdZbhwKBgC5KlqNo4Q/WEL2b8I+y6HWnICpulk5bffZhAxmh7kynJO1FkmIg
|
||||
IWIhbk9eHWlDA6HScYU4Phpv55Ko4QuqD309kyf/QmDhGONHSUjZ5MPgdy3wT5L/
|
||||
aiql1WT8YxnWZ0iMoofpyQDqEwwInmgQRedogIalfIvMrAlmXjiC8iAjAoGABBFo
|
||||
Et/n+xlNlqAD9AU2qnjT7FRKPnMz5s/1f/ge+Ee1TwRLfbYPluaIyD8Zergknyrv
|
||||
/Sap/eDAL6zT8KjHw/kHHwKdOfULmIiEfbXUVs2bj5vHzZVmxPoJhv1UW0RpVByg
|
||||
wZvJ34EjQUaNegdrqj9CrEl8yQROu2pNmzH2p0cCgYBdJfGrPQ2MS4QEVOYKTULE
|
||||
8fxfC6NmJG9f9HeKLPnlIMu8svhwCiEHWP+7vZG0gszh3m9IWVOh5YNwFu7Fp9m6
|
||||
3Ht1aEGrZM0ypD5jHLIaSOxOJRMVvT+O1yH8GBsNLxXstsfkIFSE4vMXbzeUo2Rm
|
||||
5pAqJlj0tVH19/TlcuWbFQ==
|
||||
-----END PRIVATE KEY-----
|
||||
BIN
keys/telegram-bot.p12
Normal file
BIN
keys/telegram-bot.p12
Normal file
Binary file not shown.
21
keys/telegram-bot.pem
Normal file
21
keys/telegram-bot.pem
Normal file
@@ -0,0 +1,21 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIDcTCCAlmgAwIBAgIJAKLMfxW4KRHuMA0GCSqGSIb3DQEBCwUAME8xCzAJBgNV
|
||||
BAYTAkNaMQ8wDQYDVQQHDAZQcmFndWUxGjAYBgNVBAoMEVBhdmVsIEthY2hhbG91
|
||||
c2tpMRMwEQYDVQQDDAp4ZXBwYWthLmV1MB4XDTE4MDUxMTE4MjEzOVoXDTI4MDUw
|
||||
ODE4MjEzOVowTzELMAkGA1UEBhMCQ1oxDzANBgNVBAcMBlByYWd1ZTEaMBgGA1UE
|
||||
CgwRUGF2ZWwgS2FjaGFsb3Vza2kxEzARBgNVBAMMCnhlcHBha2EuZXUwggEiMA0G
|
||||
CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDWwewslKtWJ7yeYrxDuoh5PS7y5/C/
|
||||
0NT6tsAAsh3ZVCqdeNvYj56n8jVob/jJ9EYMqKj7dXLAMopDhtuwdDN/KhW9QVkK
|
||||
zATE1wNxuV3aBVUTJuHHadUYQa7pVevvssAIa1XQ6NvU0pkwdDApylOj1TkA9MFl
|
||||
ZWHWlF0dgrVyGjFxDoWdjm2aLCdRpZCr0giTOfZ5E+OJNALTHcuJO+PRKdEreO1Y
|
||||
VAlT2Sk26f8/iG63C2/t7xWTyJKOjFPxwq3+dkNfJ1AXZ4I7aFDgP7BKogvooYuC
|
||||
BItqog+IRUOoK9Yj24KCUxD+gaI5+tv0j1ov5d0ZAqqaiSql96s2/jyZAgMBAAGj
|
||||
UDBOMB0GA1UdDgQWBBRkOXFj0c0jNdM1nJMRGr0EvfeMuTAfBgNVHSMEGDAWgBRk
|
||||
OXFj0c0jNdM1nJMRGr0EvfeMuTAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBCwUA
|
||||
A4IBAQBtXUOfnKdp1GY5gATTrPdr2s7FyiJvVfx/yeNNNR8ZnZcLjBMulEvXsfNi
|
||||
AL1cEctnSDyT5z2el75nTdAgTFcBZQLsVk9/4ZwBRnfunFqfU5e5X9X9z//yt4Gy
|
||||
Zq9BrMddQE+qwnOclcTDCc0GnyqKbaPiyYFcaXKhdrsflvoJI9tyLwPgjfXADLDF
|
||||
JtjC0gGdbgefDweBUMTF0cpZED9q/J2fKXHurub+3QySvUOvphVFP4dBz2WhdoTe
|
||||
v3lkEVp3I/IUv9qegO0B0o6X+Nnml4/b7HV1PArNceWOA6f57fSL2m6eN6xs4ULJ
|
||||
kfUMloAr25yvmN/tPwm+8Op5ovot
|
||||
-----END CERTIFICATE-----
|
||||
@@ -1 +1,2 @@
|
||||
addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.14.6")
|
||||
addSbtPlugin("com.typesafe.sbt" % "sbt-native-packager" % "1.3.21")
|
||||
18
telegram-bot/src/main/resources/application.conf
Normal file
18
telegram-bot/src/main/resources/application.conf
Normal file
@@ -0,0 +1,18 @@
|
||||
akka {
|
||||
loglevel = "DEBUG"
|
||||
|
||||
extensions = [akka.persistence.Persistence]
|
||||
|
||||
persistence {
|
||||
journal {
|
||||
plugin = "akka.persistence.journal.leveldb"
|
||||
auto-start-journals = ["akka.persistence.journal.leveldb"]
|
||||
leveldb.dir = "journal-check-delivery"
|
||||
}
|
||||
|
||||
snapshot-store {
|
||||
plugin = "akka.persistence.snapshot-store.local"
|
||||
auto-start-snapshot-stores = ["akka.persistence.snapshot-store.local"]
|
||||
}
|
||||
}
|
||||
}
|
||||
11
telegram-bot/src/main/resources/logback.xml
Normal file
11
telegram-bot/src/main/resources/logback.xml
Normal file
@@ -0,0 +1,11 @@
|
||||
<configuration debug="true" scan="true" >
|
||||
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
|
||||
<encoder>
|
||||
<pattern>%date [%level] %logger: %message%n%xException</pattern>
|
||||
</encoder>
|
||||
</appender>
|
||||
|
||||
<root level="DEBUG">
|
||||
<appender-ref ref="STDOUT"/>
|
||||
</root>
|
||||
</configuration>
|
||||
BIN
telegram-bot/src/main/resources/telegram-bot.p12
Normal file
BIN
telegram-bot/src/main/resources/telegram-bot.p12
Normal file
Binary file not shown.
21
telegram-bot/src/main/resources/telegram-bot.pem
Normal file
21
telegram-bot/src/main/resources/telegram-bot.pem
Normal file
@@ -0,0 +1,21 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIDcTCCAlmgAwIBAgIJAKLMfxW4KRHuMA0GCSqGSIb3DQEBCwUAME8xCzAJBgNV
|
||||
BAYTAkNaMQ8wDQYDVQQHDAZQcmFndWUxGjAYBgNVBAoMEVBhdmVsIEthY2hhbG91
|
||||
c2tpMRMwEQYDVQQDDAp4ZXBwYWthLmV1MB4XDTE4MDUxMTE4MjEzOVoXDTI4MDUw
|
||||
ODE4MjEzOVowTzELMAkGA1UEBhMCQ1oxDzANBgNVBAcMBlByYWd1ZTEaMBgGA1UE
|
||||
CgwRUGF2ZWwgS2FjaGFsb3Vza2kxEzARBgNVBAMMCnhlcHBha2EuZXUwggEiMA0G
|
||||
CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDWwewslKtWJ7yeYrxDuoh5PS7y5/C/
|
||||
0NT6tsAAsh3ZVCqdeNvYj56n8jVob/jJ9EYMqKj7dXLAMopDhtuwdDN/KhW9QVkK
|
||||
zATE1wNxuV3aBVUTJuHHadUYQa7pVevvssAIa1XQ6NvU0pkwdDApylOj1TkA9MFl
|
||||
ZWHWlF0dgrVyGjFxDoWdjm2aLCdRpZCr0giTOfZ5E+OJNALTHcuJO+PRKdEreO1Y
|
||||
VAlT2Sk26f8/iG63C2/t7xWTyJKOjFPxwq3+dkNfJ1AXZ4I7aFDgP7BKogvooYuC
|
||||
BItqog+IRUOoK9Yj24KCUxD+gaI5+tv0j1ov5d0ZAqqaiSql96s2/jyZAgMBAAGj
|
||||
UDBOMB0GA1UdDgQWBBRkOXFj0c0jNdM1nJMRGr0EvfeMuTAfBgNVHSMEGDAWgBRk
|
||||
OXFj0c0jNdM1nJMRGr0EvfeMuTAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBCwUA
|
||||
A4IBAQBtXUOfnKdp1GY5gATTrPdr2s7FyiJvVfx/yeNNNR8ZnZcLjBMulEvXsfNi
|
||||
AL1cEctnSDyT5z2el75nTdAgTFcBZQLsVk9/4ZwBRnfunFqfU5e5X9X9z//yt4Gy
|
||||
Zq9BrMddQE+qwnOclcTDCc0GnyqKbaPiyYFcaXKhdrsflvoJI9tyLwPgjfXADLDF
|
||||
JtjC0gGdbgefDweBUMTF0cpZED9q/J2fKXHurub+3QySvUOvphVFP4dBz2WhdoTe
|
||||
v3lkEVp3I/IUv9qegO0B0o6X+Nnml4/b7HV1PArNceWOA6f57fSL2m6eN6xs4ULJ
|
||||
kfUMloAr25yvmN/tPwm+8Op5ovot
|
||||
-----END CERTIFICATE-----
|
||||
@@ -15,9 +15,15 @@ import scala.io.StdIn
|
||||
|
||||
object Main {
|
||||
def main(args: Array[String]): Unit = {
|
||||
//val botId = "570855144:AAEv7b817cuq2JJI9f2kG5B9G3zW1x-btz4" // useless bot
|
||||
val botId = "693134480:AAE8JRXA6j1mkOKTaxapP6A-E4LPHRuiIf8" // delivery bot
|
||||
val botBehavior = Behaviors.supervise(TelegramBot.behavior(botId, "0.0.0.0", 88)).onFailure(SupervisorStrategy.restart)
|
||||
val isProduction = System.getProperty("isProduction", "false").toBoolean
|
||||
|
||||
val (botId, localPort, hookPort) = if (isProduction) {
|
||||
("693134480:AAE8JRXA6j1mkOKTaxapP6A-E4LPHRuiIf8", 88, 88) // delivery bot
|
||||
} else {
|
||||
("570855144:AAEv7b817cuq2JJI9f2kG5B9G3zW1x-btz4", 8443, 8443) // useless bot
|
||||
}
|
||||
|
||||
val botBehavior = Behaviors.supervise(TelegramBot.behavior(botId, "0.0.0.0", localPort, hookPort)).onFailure(SupervisorStrategy.restart)
|
||||
val telegramBot = ActorSystem(botBehavior, "telegram-bot")
|
||||
implicit val actorSystem: actor.ActorSystem = telegramBot.toUntyped
|
||||
implicit val executionContext: ExecutionContextExecutor = telegramBot.dispatchers.lookup(DispatcherSelector.default())
|
||||
|
||||
@@ -34,7 +34,7 @@ object TelegramBot {
|
||||
case object GetBotInfo
|
||||
case object GetWebhookInfo
|
||||
|
||||
def behavior(botId: String, interface: String, port: Int): Behavior[Command] = Behaviors.setup[Command] { ctx =>
|
||||
def behavior(botId: String, interface: String, localPort: Int, hookPort: Int): Behavior[Command] = Behaviors.setup[Command] { ctx =>
|
||||
ctx.log.info("action=start_bot")
|
||||
|
||||
implicit val untypedSystem: ActorSystem = ctx.system.toUntyped
|
||||
@@ -44,7 +44,7 @@ object TelegramBot {
|
||||
val botUri = BotUri(botId)
|
||||
val http: HttpExt = Http()
|
||||
val hookId = UUID.randomUUID().toString
|
||||
val webhookUri = Uri(s"https://xeppaka.eu:88/$hookId")
|
||||
val webhookUri = Uri(s"https://xeppaka.eu:$hookPort/$hookId")
|
||||
val httpsContext = createHttpsConnectionContext
|
||||
val stashBuffer = StashBuffer[Command](10)
|
||||
val dialogManager = ctx.spawnAnonymous(Behaviors.supervise(DialogManager.behavior(botUri)).onFailure(SupervisorStrategy.restart))
|
||||
@@ -54,10 +54,10 @@ object TelegramBot {
|
||||
case class BindingSuccess(binding: Http.ServerBinding) extends Command
|
||||
case class BindingFailure(exception: Throwable) extends Command
|
||||
|
||||
ctx.log.info("action=bind_server interface={} port={}", interface, port)
|
||||
ctx.log.info("action=bind_server interface={} port={}", interface, localPort)
|
||||
|
||||
http
|
||||
.bindAndHandle(routes, interface, port, httpsContext)
|
||||
.bindAndHandle(routes, interface, localPort, httpsContext)
|
||||
.onComplete {
|
||||
case Success(binding) => ctx.self ! BindingSuccess(binding)
|
||||
case Failure(exception) => ctx.self ! BindingFailure(exception)
|
||||
@@ -81,7 +81,7 @@ object TelegramBot {
|
||||
case object UnbindingSuccess extends Command
|
||||
case class UnbindingFailure(exception: Throwable) extends Command
|
||||
|
||||
ctx.log.info("action=unbind_server interface={} port={}", interface, port)
|
||||
ctx.log.info("action=unbind_server interface={} port={}", interface, localPort)
|
||||
|
||||
binding
|
||||
.unbind()
|
||||
|
||||
Reference in New Issue
Block a user