Implemented basics of checking with czech post. Solved ssl problems and user-agent.
This commit is contained in:
133
.idea/modules/delivery-checker-bot-build.iml
generated
133
.idea/modules/delivery-checker-bot-build.iml
generated
@@ -1,133 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<module external.linked.project.id="delivery-checker-bot-build [file:/home/nnm/development/telegram-bot1/]" external.linked.project.path="$MODULE_DIR$/../../delivery-checker-bot/project" external.root.project.path="$MODULE_DIR$/../.." external.system.id="SBT" sbt.imports="SUB:DOLLAR2a7cf0a3aa9f47ee5733.`deliverySUB:DOLLARminuscheckerSUB:DOLLARminusbot`, SUB:DOLLAR2a7cf0a3aa9f47ee5733.`telegramSUB:DOLLARminusbot`, _root_.sbt.Keys._, _root_.sbt.ScriptedPlugin.autoImport._, _root_.sbtassembly.AssemblyPlugin.autoImport._, _root_.sbt._, _root_.sbt.plugins.IvyPlugin, _root_.sbt.plugins.JvmPlugin, _root_.sbt.plugins.CorePlugin, _root_.sbt.ScriptedPlugin, _root_.sbt.plugins.SbtPlugin, _root_.sbt.plugins.JUnitXmlReportPlugin, _root_.sbt.plugins.Giter8TemplatePlugin, _root_.sbtassembly.AssemblyPlugin, _root_.scala.xml.{TopScope=>SUB:DOLLARscope}" sbt.resolvers="https://repo1.maven.org/maven2/|maven|public, file:/home/nnm/.sbt/preloaded/|maven|local-preloaded, /home/nnm/.ivy2/cache|ivy|Local cache" type="SBT_MODULE" version="4">
|
|
||||||
<component name="NewModuleRootManager">
|
|
||||||
<output url="file://$MODULE_DIR$/../../delivery-checker-bot/project/target/idea-classes" />
|
|
||||||
<output-test url="file://$MODULE_DIR$/../../delivery-checker-bot/project/target/idea-test-classes" />
|
|
||||||
<exclude-output />
|
|
||||||
<content url="file://$MODULE_DIR$/../../delivery-checker-bot/project">
|
|
||||||
<excludeFolder url="file://$MODULE_DIR$/../../delivery-checker-bot/project/project/target" />
|
|
||||||
<excludeFolder url="file://$MODULE_DIR$/../../delivery-checker-bot/project/target" />
|
|
||||||
</content>
|
|
||||||
<orderEntry type="inheritedJdk" />
|
|
||||||
<orderEntry type="sourceFolder" forTests="false" />
|
|
||||||
<orderEntry type="module" module-name="telegram-bot1-build" />
|
|
||||||
<orderEntry type="module-library">
|
|
||||||
<library name="sbt: sbt-and-plugins">
|
|
||||||
<CLASSES>
|
|
||||||
<root url="jar://$USER_HOME$/.ivy2/cache/javax.annotation/jsr250-api/jars/jsr250-api-1.0.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.ivy2/cache/javax.enterprise/cdi-api/jars/cdi-api-1.0.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.ivy2/cache/javax.inject/javax.inject/jars/javax.inject-1.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.ivy2/cache/org.apache.ant/ant-launcher/jars/ant-launcher-1.9.9.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.ivy2/cache/org.apache.ant/ant/jars/ant-1.9.9.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.ivy2/cache/org.apache.commons/commons-lang3/jars/commons-lang3-3.4.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.ivy2/cache/org.apache.maven/maven-artifact/jars/maven-artifact-3.3.9.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.ivy2/cache/org.apache.maven/maven-model/jars/maven-model-3.3.9.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.ivy2/cache/org.apache.maven/maven-plugin-api/jars/maven-plugin-api-3.3.9.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.ivy2/cache/org.codehaus.plexus/plexus-classworlds/bundles/plexus-classworlds-2.5.2.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.ivy2/cache/org.codehaus.plexus/plexus-component-annotations/jars/plexus-component-annotations-1.5.5.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.ivy2/cache/org.codehaus.plexus/plexus-utils/jars/plexus-utils-3.0.22.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.ivy2/cache/org.eclipse.sisu/org.eclipse.sisu.inject/eclipse-plugins/org.eclipse.sisu.inject-0.3.2.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.ivy2/cache/org.eclipse.sisu/org.eclipse.sisu.plexus/eclipse-plugins/org.eclipse.sisu.plexus-0.3.2.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.ivy2/cache/org.ow2.asm/asm-commons/jars/asm-commons-6.0.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.ivy2/cache/org.ow2.asm/asm-tree/jars/asm-tree-6.0.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.ivy2/cache/org.ow2.asm/asm/jars/asm-6.0.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.ivy2/cache/org.pantsbuild/jarjar/jars/jarjar-1.6.5.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.ivy2/cache/org.scalactic/scalactic_2.12/bundles/scalactic_2.12-3.0.1.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.ivy2/cache/scala_2.12/sbt_1.0/com.eed3si9n/sbt-assembly/jars/sbt-assembly-0.14.6.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/lib/jline.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/lib/scala-compiler.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/lib/scala-library.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/lib/scala-reflect.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/lib/scala-xml_2.12.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/org.scala-sbt/sbt/1.2.6/actions_2.12-1.2.6.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/org.scala-sbt/sbt/1.2.6/apple-file-events-1.3.2.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/org.scala-sbt/sbt/1.2.6/caffeine-2.5.6.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/org.scala-sbt/sbt/1.2.6/collections_2.12-1.2.6.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/org.scala-sbt/sbt/1.2.6/command_2.12-1.2.6.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/org.scala-sbt/sbt/1.2.6/compiler-bridge_2.12-1.2.4.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/org.scala-sbt/sbt/1.2.6/compiler-interface-1.2.4.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/org.scala-sbt/sbt/1.2.6/completion_2.12-1.2.6.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/org.scala-sbt/sbt/1.2.6/config-1.2.0.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/org.scala-sbt/sbt/1.2.6/core-macros_2.12-1.2.6.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/org.scala-sbt/sbt/1.2.6/disruptor-3.3.6.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/org.scala-sbt/sbt/1.2.6/fastparse-utils_2.12-0.4.2.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/org.scala-sbt/sbt/1.2.6/fastparse_2.12-0.4.2.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/org.scala-sbt/sbt/1.2.6/gigahorse-core_2.12-0.3.0.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/org.scala-sbt/sbt/1.2.6/gigahorse-okhttp_2.12-0.3.0.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/org.scala-sbt/sbt/1.2.6/io_2.12-1.2.2.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/org.scala-sbt/sbt/1.2.6/ipcsocket-1.0.0.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/org.scala-sbt/sbt/1.2.6/ivy-2.3.0-sbt-b18f59ea3bc914a297bb6f1a4f7fb0ace399e310.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/org.scala-sbt/sbt/1.2.6/jawn-parser_2.12-0.10.4.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/org.scala-sbt/sbt/1.2.6/jline-2.14.6.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/org.scala-sbt/sbt/1.2.6/jna-4.5.0.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/org.scala-sbt/sbt/1.2.6/jna-platform-4.5.0.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/org.scala-sbt/sbt/1.2.6/jsch-0.1.54.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/org.scala-sbt/sbt/1.2.6/launcher-interface-1.0.4.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/org.scala-sbt/sbt/1.2.6/lenses_2.12-0.4.12.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/org.scala-sbt/sbt/1.2.6/librarymanagement-core_2.12-1.2.2.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/org.scala-sbt/sbt/1.2.6/librarymanagement-ivy_2.12-1.2.2.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/org.scala-sbt/sbt/1.2.6/log4j-api-2.8.1.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/org.scala-sbt/sbt/1.2.6/log4j-core-2.8.1.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/org.scala-sbt/sbt/1.2.6/log4j-slf4j-impl-2.8.1.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/org.scala-sbt/sbt/1.2.6/logic_2.12-1.2.6.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/org.scala-sbt/sbt/1.2.6/main-settings_2.12-1.2.6.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/org.scala-sbt/sbt/1.2.6/main_2.12-1.2.6.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/org.scala-sbt/sbt/1.2.6/okhttp-3.7.0.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/org.scala-sbt/sbt/1.2.6/okhttp-urlconnection-3.7.0.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/org.scala-sbt/sbt/1.2.6/okio-1.12.0.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/org.scala-sbt/sbt/1.2.6/protobuf-java-3.3.1.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/org.scala-sbt/sbt/1.2.6/protocol_2.12-1.2.6.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/org.scala-sbt/sbt/1.2.6/reactive-streams-1.0.0.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/org.scala-sbt/sbt/1.2.6/run_2.12-1.2.6.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/org.scala-sbt/sbt/1.2.6/sbinary_2.12-0.5.0.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/org.scala-sbt/sbt/1.2.6/sbt-1.2.6.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/org.scala-sbt/sbt/1.2.6/scala-parser-combinators_2.12-1.0.5.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/org.scala-sbt/sbt/1.2.6/scala-reflect-2.12.7.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/org.scala-sbt/sbt/1.2.6/scala-xml_2.12-1.0.6.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/org.scala-sbt/sbt/1.2.6/scalacache-caffeine_2.12-0.20.0.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/org.scala-sbt/sbt/1.2.6/scalacache-core_2.12-0.20.0.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/org.scala-sbt/sbt/1.2.6/scalapb-runtime_2.12-0.6.0.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/org.scala-sbt/sbt/1.2.6/scripted-plugin_2.12-1.2.6.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/org.scala-sbt/sbt/1.2.6/scripted-sbt-redux_2.12-1.2.6.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/org.scala-sbt/sbt/1.2.6/shaded-scalajson_2.12-1.0.0-M4.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/org.scala-sbt/sbt/1.2.6/sjson-new-core_2.12-0.8.2.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/org.scala-sbt/sbt/1.2.6/sjson-new-murmurhash_2.12-0.8.2.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/org.scala-sbt/sbt/1.2.6/sjson-new-scalajson_2.12-0.8.2.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/org.scala-sbt/sbt/1.2.6/slf4j-api-1.7.25.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/org.scala-sbt/sbt/1.2.6/sourcecode_2.12-0.1.3.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/org.scala-sbt/sbt/1.2.6/ssl-config-core_2.12-0.2.2.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/org.scala-sbt/sbt/1.2.6/task-system_2.12-1.2.6.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/org.scala-sbt/sbt/1.2.6/tasks_2.12-1.2.6.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/org.scala-sbt/sbt/1.2.6/template-resolver-0.1.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/org.scala-sbt/sbt/1.2.6/test-agent-1.2.6.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/org.scala-sbt/sbt/1.2.6/test-interface-1.0.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/org.scala-sbt/sbt/1.2.6/testing_2.12-1.2.6.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/org.scala-sbt/sbt/1.2.6/util-cache_2.12-1.2.3.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/org.scala-sbt/sbt/1.2.6/util-control_2.12-1.2.3.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/org.scala-sbt/sbt/1.2.6/util-interface-1.2.3.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/org.scala-sbt/sbt/1.2.6/util-logging_2.12-1.2.3.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/org.scala-sbt/sbt/1.2.6/util-position_2.12-1.2.3.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/org.scala-sbt/sbt/1.2.6/util-relation_2.12-1.2.3.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/org.scala-sbt/sbt/1.2.6/util-scripted_2.12-1.2.3.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/org.scala-sbt/sbt/1.2.6/util-tracking_2.12-1.2.3.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/org.scala-sbt/sbt/1.2.6/zinc-apiinfo_2.12-1.2.4.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/org.scala-sbt/sbt/1.2.6/zinc-classfile_2.12-1.2.4.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/org.scala-sbt/sbt/1.2.6/zinc-classpath_2.12-1.2.4.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/org.scala-sbt/sbt/1.2.6/zinc-compile-core_2.12-1.2.4.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/org.scala-sbt/sbt/1.2.6/zinc-compile_2.12-1.2.4.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/org.scala-sbt/sbt/1.2.6/zinc-core_2.12-1.2.4.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/org.scala-sbt/sbt/1.2.6/zinc-ivy-integration_2.12-1.2.4.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/org.scala-sbt/sbt/1.2.6/zinc-persist_2.12-1.2.4.jar!/" />
|
|
||||||
<root url="jar://$USER_HOME$/.sbt/boot/scala-2.12.7/org.scala-sbt/sbt/1.2.6/zinc_2.12-1.2.4.jar!/" />
|
|
||||||
</CLASSES>
|
|
||||||
<JAVADOC />
|
|
||||||
<SOURCES />
|
|
||||||
</library>
|
|
||||||
</orderEntry>
|
|
||||||
</component>
|
|
||||||
<component name="SbtModule">
|
|
||||||
<option name="buildForId" value="delivery-checker-bot" />
|
|
||||||
<option name="buildForURI" value="file:$MODULE_DIR$/../../" />
|
|
||||||
<option name="imports" value="SUB:DOLLAR2a7cf0a3aa9f47ee5733.`deliverySUB:DOLLARminuscheckerSUB:DOLLARminusbot`, SUB:DOLLAR2a7cf0a3aa9f47ee5733.`telegramSUB:DOLLARminusbot`, _root_.sbt.Keys._, _root_.sbt.ScriptedPlugin.autoImport._, _root_.sbtassembly.AssemblyPlugin.autoImport._, _root_.sbt._, _root_.sbt.plugins.IvyPlugin, _root_.sbt.plugins.JvmPlugin, _root_.sbt.plugins.CorePlugin, _root_.sbt.ScriptedPlugin, _root_.sbt.plugins.SbtPlugin, _root_.sbt.plugins.JUnitXmlReportPlugin, _root_.sbt.plugins.Giter8TemplatePlugin, _root_.sbtassembly.AssemblyPlugin, _root_.scala.xml.{TopScope=>SUB:DOLLARscope}" />
|
|
||||||
</component>
|
|
||||||
</module>
|
|
||||||
44
.idea/modules/delivery-checker-bot.iml
generated
44
.idea/modules/delivery-checker-bot.iml
generated
@@ -1,44 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<module external.linked.project.id="delivery-checker-bot [file:/home/nnm/development/telegram-bot1/]" external.linked.project.path="$MODULE_DIR$/../../delivery-checker-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$/../../delivery-checker-bot/target/scala-2.12/classes" />
|
|
||||||
<output-test url="file://$MODULE_DIR$/../../delivery-checker-bot/target/scala-2.12/test-classes" />
|
|
||||||
<exclude-output />
|
|
||||||
<content url="file://$MODULE_DIR$/../../delivery-checker-bot">
|
|
||||||
<sourceFolder url="file://$MODULE_DIR$/../../delivery-checker-bot/target/scala-2.12/src_managed/main" isTestSource="false" generated="true" />
|
|
||||||
<sourceFolder url="file://$MODULE_DIR$/../../delivery-checker-bot/target/scala-2.12/src_managed/test" isTestSource="true" generated="true" />
|
|
||||||
<excludeFolder url="file://$MODULE_DIR$/../../delivery-checker-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: 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-stream_2.12:2.5.17:jar" level="project" />
|
|
||||||
<orderEntry type="library" name="sbt: com.typesafe.akka:akka-protobuf_2.12:2.5.17: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.akka:akka-actor_2.12:2.5.17:jar" level="project" />
|
|
||||||
<orderEntry type="library" name="sbt: com.typesafe.akka:akka-actor-typed_2.12:2.5.17:jar" level="project" />
|
|
||||||
<orderEntry type="library" name="sbt: com.typesafe:ssl-config-core_2.12:0.2.4:jar" level="project" />
|
|
||||||
<orderEntry type="library" name="sbt: com.typesafe:config:1.3.3:jar" level="project" />
|
|
||||||
<orderEntry type="library" name="sbt: org.typelevel:macro-compat_2.12:1.1.1:jar" level="project" />
|
|
||||||
<orderEntry type="library" scope="TEST" name="sbt: org.scalatest:scalatest_2.12:3.0.5: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.scala-lang.modules:scala-xml_2.12:1.0.6: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" name="sbt: org.reactivestreams:reactive-streams:1.0.2:jar" level="project" />
|
|
||||||
<orderEntry type="library" name="sbt: org.scala-lang:scala-library:2.12.7:jar" level="project" />
|
|
||||||
<orderEntry type="library" name="sbt: org.scala-lang:scala-reflect:2.12.7:jar" level="project" />
|
|
||||||
</component>
|
|
||||||
</module>
|
|
||||||
5
.idea/modules/telegram-bot.iml
generated
5
.idea/modules/telegram-bot.iml
generated
@@ -14,6 +14,7 @@
|
|||||||
<orderEntry type="inheritedJdk" />
|
<orderEntry type="inheritedJdk" />
|
||||||
<orderEntry type="sourceFolder" forTests="false" />
|
<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.chuusai:shapeless_2.12:2.3.3: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: 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: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-macros_2.12:1.4.0:jar" level="project" />
|
||||||
@@ -43,5 +44,9 @@
|
|||||||
<orderEntry type="library" name="sbt: org.typelevel:macro-compat_2.12:1.1.1: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: org.scala-lang:scala-library:2.12.7:jar" level="project" />
|
<orderEntry type="library" name="sbt: org.scala-lang:scala-library:2.12.7:jar" level="project" />
|
||||||
<orderEntry type="library" name="sbt: org.scala-lang:scala-reflect:2.12.7:jar" level="project" />
|
<orderEntry type="library" name="sbt: org.scala-lang:scala-reflect:2.12.7:jar" level="project" />
|
||||||
|
<orderEntry type="library" name="sbt: com.typesafe.akka:akka-actor-testkit-typed_2.12:2.5.17:jar" level="project" />
|
||||||
|
<orderEntry type="library" name="sbt: com.typesafe.akka:akka-persistence-typed_2.12:2.5.17:jar" level="project" />
|
||||||
|
<orderEntry type="library" name="sbt: com.typesafe.akka:akka-persistence_2.12:2.5.17:jar" level="project" />
|
||||||
|
<orderEntry type="library" name="sbt: com.typesafe.akka:akka-testkit_2.12:2.5.17:jar" level="project" />
|
||||||
</component>
|
</component>
|
||||||
</module>
|
</module>
|
||||||
16
build.sbt
16
build.sbt
@@ -17,6 +17,8 @@ lazy val `telegram-bot` = (project in file("telegram-bot"))
|
|||||||
akkaTyped,
|
akkaTyped,
|
||||||
akkaHttp,
|
akkaHttp,
|
||||||
akkaStream,
|
akkaStream,
|
||||||
|
akkaPersistence,
|
||||||
|
levelDbJni,
|
||||||
circleCore,
|
circleCore,
|
||||||
circleGeneric,
|
circleGeneric,
|
||||||
circleParser,
|
circleParser,
|
||||||
@@ -24,20 +26,6 @@ lazy val `telegram-bot` = (project in file("telegram-bot"))
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
lazy val `delivery-checker-bot` = (project in file("delivery-checker-bot"))
|
|
||||||
.settings(
|
|
||||||
libraryDependencies ++= Seq(
|
|
||||||
scalaTest % Test,
|
|
||||||
akka,
|
|
||||||
akkaTyped,
|
|
||||||
akkaHttp,
|
|
||||||
akkaStream,
|
|
||||||
circleCore,
|
|
||||||
circleGeneric,
|
|
||||||
circleParser
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
assemblyMergeStrategy in assembly := {
|
assemblyMergeStrategy in assembly := {
|
||||||
case PathList("META-INF", "io.netty.versions.properties") => MergeStrategy.first
|
case PathList("META-INF", "io.netty.versions.properties") => MergeStrategy.first
|
||||||
case x =>
|
case x =>
|
||||||
|
|||||||
@@ -5,6 +5,8 @@ object Dependencies {
|
|||||||
lazy val akkaTyped = "com.typesafe.akka" %% "akka-actor-typed" % "2.5.17"
|
lazy val akkaTyped = "com.typesafe.akka" %% "akka-actor-typed" % "2.5.17"
|
||||||
lazy val akkaStream = "com.typesafe.akka" %% "akka-stream" % "2.5.17"
|
lazy val akkaStream = "com.typesafe.akka" %% "akka-stream" % "2.5.17"
|
||||||
lazy val akkaHttp = "com.typesafe.akka" %% "akka-http" % "10.1.5"
|
lazy val akkaHttp = "com.typesafe.akka" %% "akka-http" % "10.1.5"
|
||||||
|
lazy val akkaPersistence = "com.typesafe.akka" %% "akka-persistence-typed" % "2.5.17"
|
||||||
|
lazy val levelDbJni = "org.fusesource.leveldbjni" % "leveldbjni-all" % "1.8"
|
||||||
//lazy val vkapi = "com.vk.api" % "sdk" % "0.5.12"
|
//lazy val vkapi = "com.vk.api" % "sdk" % "0.5.12"
|
||||||
lazy val circleCore = "io.circe" %% "circe-core" % "0.10.0"
|
lazy val circleCore = "io.circe" %% "circe-core" % "0.10.0"
|
||||||
lazy val circleGeneric = "io.circe" %% "circe-generic" % "0.10.0"
|
lazy val circleGeneric = "io.circe" %% "circe-generic" % "0.10.0"
|
||||||
|
|||||||
@@ -0,0 +1,156 @@
|
|||||||
|
package eu.xeppaka.bot
|
||||||
|
|
||||||
|
import java.security.cert.X509Certificate
|
||||||
|
|
||||||
|
import akka.actor.ActorSystem
|
||||||
|
import akka.actor.typed.scaladsl.adapter._
|
||||||
|
import akka.actor.typed.scaladsl.{Behaviors, TimerScheduler}
|
||||||
|
import akka.actor.typed.{ActorRef, Behavior, DispatcherSelector}
|
||||||
|
import akka.http.scaladsl.UseHttp2.Negotiated
|
||||||
|
import akka.http.scaladsl.model._
|
||||||
|
import akka.http.scaladsl.model.headers.{Accept, `User-Agent`}
|
||||||
|
import akka.http.scaladsl.settings.{ClientConnectionSettings, ConnectionPoolSettings}
|
||||||
|
import akka.http.scaladsl.unmarshalling.Unmarshal
|
||||||
|
import akka.http.scaladsl.{Http, HttpsConnectionContext}
|
||||||
|
import akka.persistence.typed.scaladsl.PersistentBehaviors.{CommandHandler, EventHandler}
|
||||||
|
import akka.persistence.typed.scaladsl.{Effect, PersistentBehaviors}
|
||||||
|
import akka.stream.ActorMaterializer
|
||||||
|
import com.typesafe.sslconfig.akka.AkkaSSLConfig
|
||||||
|
import de.heikoseeberger.akkahttpcirce.FailFastCirceSupport._
|
||||||
|
import io.circe.generic.auto._
|
||||||
|
import javax.net.ssl.{KeyManager, SSLContext, X509TrustManager}
|
||||||
|
|
||||||
|
import scala.collection.immutable
|
||||||
|
import scala.concurrent.ExecutionContextExecutor
|
||||||
|
import scala.concurrent.duration._
|
||||||
|
import scala.util.{Failure, Success}
|
||||||
|
|
||||||
|
object Entities {
|
||||||
|
case class Attributes(
|
||||||
|
parcelType: String,
|
||||||
|
weight: Double,
|
||||||
|
currency: String,
|
||||||
|
)
|
||||||
|
|
||||||
|
case class State(
|
||||||
|
id: String,
|
||||||
|
date: String,
|
||||||
|
text: String,
|
||||||
|
postcode: Option[String],
|
||||||
|
postoffice: Option[String],
|
||||||
|
idIcon: Option[String],
|
||||||
|
publicAccess: Int,
|
||||||
|
latitude: Option[Double],
|
||||||
|
longitude: Option[Double],
|
||||||
|
timeDeliveryAttempt: Option[String]
|
||||||
|
)
|
||||||
|
|
||||||
|
case class States(state: Seq[State])
|
||||||
|
|
||||||
|
case class ParcelHistory(id: String, attributes: Attributes, states: States)
|
||||||
|
}
|
||||||
|
|
||||||
|
object CheckCzechPostDelivery {
|
||||||
|
sealed trait Command
|
||||||
|
sealed trait Event
|
||||||
|
case class State(
|
||||||
|
attributes: Option[Entities.Attributes] = None,
|
||||||
|
states: Set[Entities.State] = Set.empty
|
||||||
|
)
|
||||||
|
|
||||||
|
private case object CheckParcel extends Command
|
||||||
|
private case class ParcelHistoryData(data: Entities.ParcelHistory) extends Command
|
||||||
|
case class DeliveryStateChanged(state: String)
|
||||||
|
|
||||||
|
case class HistoryStateAdded(state: Entities.State) extends Event
|
||||||
|
case class AttributesChanged(attributes: Entities.Attributes) extends Event
|
||||||
|
|
||||||
|
private val trustfulSslContext: SSLContext = {
|
||||||
|
object NoCheckX509TrustManager extends X509TrustManager {
|
||||||
|
override def checkClientTrusted(chain: Array[X509Certificate], authType: String): Unit = ()
|
||||||
|
override def checkServerTrusted(chain: Array[X509Certificate], authType: String): Unit = ()
|
||||||
|
override def getAcceptedIssuers: Array[X509Certificate] = Array[X509Certificate]()
|
||||||
|
}
|
||||||
|
|
||||||
|
val context = SSLContext.getInstance("TLS")
|
||||||
|
context.init(Array[KeyManager](), Array(NoCheckX509TrustManager), null)
|
||||||
|
context
|
||||||
|
}
|
||||||
|
|
||||||
|
def behavior(chatId: String, parcelId: String, stateReporter: ActorRef[DeliveryStateChanged]): Behavior[Command] = Behaviors.setup[Command] { ctx =>
|
||||||
|
Behaviors.withTimers(scheduler => checkParcel(chatId, parcelId, stateReporter, scheduler))
|
||||||
|
}
|
||||||
|
|
||||||
|
private def checkParcel(chatId: String, parcelId: String, stateReporter: ActorRef[DeliveryStateChanged], scheduler: TimerScheduler[Command]): Behavior[Command] = Behaviors.setup { ctx =>
|
||||||
|
implicit val actorSystem: ActorSystem = ctx.system.toUntyped
|
||||||
|
implicit val executionContext: ExecutionContextExecutor = ctx.system.dispatchers.lookup(DispatcherSelector.default())
|
||||||
|
implicit val materializer: ActorMaterializer = ActorMaterializer()
|
||||||
|
val checkUri = Uri(s"https://b2c.cpost.cz/services/ParcelHistory/getDataAsJson?idParcel=$parcelId&language=en")
|
||||||
|
val http = Http()
|
||||||
|
val request = HttpRequest(uri = checkUri, headers = immutable.Seq(Accept(MediaTypes.`application/json`)))
|
||||||
|
val badSslConfig = AkkaSSLConfig().mapSettings(s => s.withLoose(s.loose
|
||||||
|
.withAcceptAnyCertificate(true)
|
||||||
|
.withDisableHostnameVerification(true)))
|
||||||
|
val originalCtx = http.createClientHttpsContext(badSslConfig)
|
||||||
|
val sslContext = new HttpsConnectionContext(
|
||||||
|
trustfulSslContext,
|
||||||
|
originalCtx.sslConfig,
|
||||||
|
originalCtx.enabledCipherSuites,
|
||||||
|
originalCtx.enabledProtocols,
|
||||||
|
originalCtx.clientAuth,
|
||||||
|
originalCtx.sslParameters,
|
||||||
|
Negotiated
|
||||||
|
)
|
||||||
|
val clientConnectionSettings = ClientConnectionSettings(actorSystem).withUserAgentHeader(Some(`User-Agent`("Mozilla/5.0 (X11; Linux x86_64; rv:62.0) Gecko/20100101 Firefox/62.0")))
|
||||||
|
val connectionSettings = ConnectionPoolSettings(actorSystem).withConnectionSettings(clientConnectionSettings)
|
||||||
|
|
||||||
|
scheduler.startPeriodicTimer("check-delivery-state", CheckParcel, 5.seconds)
|
||||||
|
|
||||||
|
val commandHandler: CommandHandler[Command, Event, State] = (state, cmd) => {
|
||||||
|
cmd match {
|
||||||
|
case CheckParcel =>
|
||||||
|
http
|
||||||
|
.singleRequest(request, connectionContext = sslContext, settings = connectionSettings)
|
||||||
|
.transform {
|
||||||
|
case Success(response) => if (response.status.isSuccess()) Success(response) else Failure(new Exception(s"Check parcel returned HTTP status: ${response.status.value}."))
|
||||||
|
case response: Failure[HttpResponse] => response
|
||||||
|
}
|
||||||
|
.flatMap(response => Unmarshal(response).to[Array[Entities.ParcelHistory]])
|
||||||
|
.andThen {
|
||||||
|
case Success(parcelHistory) => ctx.self ! ParcelHistoryData(parcelHistory.head)
|
||||||
|
case Failure(exception) =>
|
||||||
|
ctx.log.error(exception, "Error checking parcel history.")
|
||||||
|
}
|
||||||
|
|
||||||
|
Effect.none
|
||||||
|
case ParcelHistoryData(parcelHistory) =>
|
||||||
|
val attributesEvent = (if (state.attributes.isEmpty)
|
||||||
|
Some(parcelHistory.attributes)
|
||||||
|
else
|
||||||
|
state.attributes.flatMap(oldAttributes => if (oldAttributes != parcelHistory.attributes) Some(parcelHistory.attributes) else None))
|
||||||
|
.map(AttributesChanged.apply).to[collection.immutable.Seq]
|
||||||
|
|
||||||
|
val newStates = parcelHistory.states.state.toSet -- state.states
|
||||||
|
val stateEvents: Seq[Event] = newStates.map(HistoryStateAdded.apply).to[collection.immutable.Seq]
|
||||||
|
|
||||||
|
Effect
|
||||||
|
.persist(attributesEvent ++ stateEvents)
|
||||||
|
.thenRun(_ => stateReporter ! DeliveryStateChanged(newStates.toString()))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
val eventHandler: EventHandler[State, Event] = (state, evt) => {
|
||||||
|
evt match {
|
||||||
|
case HistoryStateAdded(newState) => state.copy(states = state.states + newState)
|
||||||
|
case AttributesChanged(newAttributes) => state.copy(attributes = Some(newAttributes))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
PersistentBehaviors.receive[Command, Event, State](
|
||||||
|
persistenceId = parcelId,
|
||||||
|
emptyState = State(),
|
||||||
|
commandHandler = commandHandler,
|
||||||
|
eventHandler = eventHandler
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -19,13 +19,17 @@ object CheckDeliveryDialog {
|
|||||||
case object ProcessMessageSuccess extends CommandResult
|
case object ProcessMessageSuccess extends CommandResult
|
||||||
case class ProcessMessageFailure(exception: Throwable) extends CommandResult
|
case class ProcessMessageFailure(exception: Throwable) extends CommandResult
|
||||||
|
|
||||||
|
// internal messages
|
||||||
|
private case class DeliveryStateChanged(state: String) extends Command
|
||||||
|
|
||||||
def behavior(chatId: Long, botUri: BotUri): Behavior[Command] = Behaviors.setup[Command] { ctx =>
|
def behavior(chatId: Long, botUri: BotUri): Behavior[Command] = Behaviors.setup[Command] { ctx =>
|
||||||
implicit val executionContext: ExecutionContext = ctx.system.dispatchers.lookup(DispatcherSelector.default())
|
implicit val executionContext: ExecutionContext = ctx.system.dispatchers.lookup(DispatcherSelector.default())
|
||||||
val http = Http()(ctx.system.toUntyped)
|
val http = Http()(ctx.system.toUntyped)
|
||||||
|
val deliveryStateAdapter: ActorRef[CheckCzechPostDelivery.DeliveryStateChanged] = ctx.messageAdapter(stateChanged => DeliveryStateChanged(stateChanged.state))
|
||||||
|
|
||||||
Behaviors.receiveMessage {
|
Behaviors.receiveMessage {
|
||||||
case ProcessMessage(msg, replyTo) =>
|
case ProcessMessage(msg, replyTo) =>
|
||||||
sendResponse(http, botUri, chatId, msg.text.get)
|
sendMessage(http, botUri, chatId, msg.text.get)
|
||||||
.onComplete {
|
.onComplete {
|
||||||
case Success(response) =>
|
case Success(response) =>
|
||||||
if (response.status.isSuccess()) {
|
if (response.status.isSuccess()) {
|
||||||
@@ -35,11 +39,16 @@ object CheckDeliveryDialog {
|
|||||||
}
|
}
|
||||||
case Failure(exception) => replyTo ! ProcessMessageFailure(exception)
|
case Failure(exception) => replyTo ! ProcessMessageFailure(exception)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ctx.spawnAnonymous(CheckCzechPostDelivery.behavior(chatId.toString, "RR541190869CZ", deliveryStateAdapter))
|
||||||
|
Behaviors.same
|
||||||
|
case DeliveryStateChanged(state) =>
|
||||||
|
sendMessage(http, botUri, chatId, state)
|
||||||
Behaviors.same
|
Behaviors.same
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private def sendResponse(http: HttpExt, botUri: BotUri, chatId: Long, text: String): Future[HttpResponse] = {
|
private def sendMessage(http: HttpExt, botUri: BotUri, chatId: Long, text: String): Future[HttpResponse] = {
|
||||||
import io.circe._
|
import io.circe._
|
||||||
import io.circe.generic.auto._
|
import io.circe.generic.auto._
|
||||||
import io.circe.syntax._
|
import io.circe.syntax._
|
||||||
|
|||||||
@@ -32,10 +32,10 @@ object DialogManager {
|
|||||||
if (update.message.isDefined) {
|
if (update.message.isDefined) {
|
||||||
val chatId = update.message.get.chat.id
|
val chatId = update.message.get.chat.id
|
||||||
val dialogKey = ServiceKey[CheckDeliveryDialog.Command](chatId.toString)
|
val dialogKey = ServiceKey[CheckDeliveryDialog.Command](chatId.toString)
|
||||||
val receptionistMapper: ActorRef[Receptionist.Listing] = ctx.messageAdapter(listing => ReceptionistListingWrapper(chatId, dialogKey, listing, update.message.get, replyTo))
|
val receptionistAdapter: ActorRef[Receptionist.Listing] = ctx.messageAdapter(listing => ReceptionistListingWrapper(chatId, dialogKey, listing, update.message.get, replyTo))
|
||||||
ctx.log.debug(s"action=find_dialog id=${chatId.toString}")
|
ctx.log.debug(s"action=find_dialog id=${chatId.toString}")
|
||||||
|
|
||||||
ctx.system.receptionist ! Receptionist.Find(dialogKey, receptionistMapper)
|
ctx.system.receptionist ! Receptionist.Find(dialogKey, receptionistAdapter)
|
||||||
}
|
}
|
||||||
|
|
||||||
Behaviors.same
|
Behaviors.same
|
||||||
|
|||||||
Reference in New Issue
Block a user