Skip to content

YogurtTheHorse/StrBot

Repository files navigation

StrBot

This repo contains my game, currently developing for telegram and for Yandex.Alice in the future probably. Core concept is in development and for a while i'm working on periphery around bot.a

Dependencies

Bot is developed with .NET Core 3.1. But to run it you will be required to have RabbitMQ server and MongoDB. All configuration could be found in appsettings. To test it in Telegram you will ned a telegram bot token.

Docker & docker-compose

Starting docker-compose

If you want to have start all services follow up these commands:

 docker-compose -f YogurtTheBot.ComposeFiles/docker-compose.yml up --build -d

Projects

A lot of projects, yeah? :)

MongoDB.Bson.FSharp

This one contains some stuff to connect F# with MongoDB. (Not my code tbh)

YogurtTheBot.Alice

This project contains web server to run Yandex.Alice client

YogurtTheBot.Game.Core.Controllers

This project contains Controllers API for core. So it lets build some hierarchy similar to something between ASP.NET controllers and stack-based screens model.

YogurtTheBot.Game.Core.Controllers.Autofac

This project contains some extensions to easily integrate YogurtTheBot.Game.Core.Controllers with Autofac

YogurtTheBot.Game.Core.Controllers.Language

My own formal grammatics parser. So I decided that Irnoy and FParsec would be too complex for a game and wrote my own, but simplier. Maybe I will migrate to FParsec or Irony someday.

YogurtTheBot.Game.Core.Controllers.Language.Tests

Tests for language project

YogurtTheBot.Game.Core

Core of the messaging mechanism. Have a bit of abstractions and localization stuff.

YogurtTheBot.Game.Data

Core models and MongoDB repositories.

YogurtTheBot.Game.Logic.Engine

Game engine. Core of the very game. Contains models and connected functions.

YogurtTheBot.Game.Logic.Engine.Tests

Game engine tests. Currently there is only one test which tests default levels.

YogurtTheBot.Game.Logic

Game controllers.

YogurtTheBot.Game.Server

Console server.

YogurtTheBot.Game.Server.RabbitMq

Abstractions of server to work with rabbitmq.

YogurtTheBot.Telegram.Polling

Telegram client.

Running

Run server and client in the same time to launch everything.

About

My game bot including big dotnet framework for messengers

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •