All Projects → GreyWolfDev → Werewolf

GreyWolfDev / Werewolf

Licence: gpl-3.0
Werewolf for Telegram

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Werewolf

Botogram
Just focus on your bots.
Stars: ✭ 106 (-76.86%)
Mutual labels:  bot, hacktoberfest, telegram
Notify
A dead simple Go library for sending notifications to various messaging services.
Stars: ✭ 727 (+58.73%)
Mutual labels:  bot, hacktoberfest, telegram
Ex gram
Telegram Bot API low level API and framework
Stars: ✭ 103 (-77.51%)
Mutual labels:  bot, hacktoberfest, telegram
Madelineproto
Async PHP client/server API for the telegram MTProto protocol
Stars: ✭ 1,776 (+287.77%)
Mutual labels:  bot, hacktoberfest, telegram
Groupbutler
This bot can help you in managing your group with rules, anti-flood, description, custom triggers, and much more!
Stars: ✭ 399 (-12.88%)
Mutual labels:  bot, hacktoberfest, telegram
Tlg joincaptchabot
Telegram Bot to verify if users that join a group, are humans. The Bot send an image captcha for each new user, and kick any of them that can't solve the captcha in a specified time.
Stars: ✭ 226 (-50.66%)
Mutual labels:  bot, hacktoberfest, telegram
Noderssbot
Another Telegram RSS bot but in Node.js Telegram RSS 机器人
Stars: ✭ 212 (-53.71%)
Mutual labels:  bot, hacktoberfest, telegram
Python Telegram Bot
We have made you a wrapper you can't refuse
Stars: ✭ 17,209 (+3657.42%)
Mutual labels:  bot, hacktoberfest, telegram
Tgbot
Modular telegram group management bot
Stars: ✭ 334 (-27.07%)
Mutual labels:  bot, telegram
Kotlin Telegram Bot
🤖 A wrapper for the Telegram Bot API written in Kotlin
Stars: ✭ 337 (-26.42%)
Mutual labels:  hacktoberfest, telegram
Bottender
⚡️ A framework for building conversational user interfaces.
Stars: ✭ 3,803 (+730.35%)
Mutual labels:  bot, telegram
Eggdrop
The Eggdrop IRC Bot
Stars: ✭ 314 (-31.44%)
Mutual labels:  bot, hacktoberfest
Discord bot.py
🍺 A simple discord bot that helps you getting started within discord.py
Stars: ✭ 313 (-31.66%)
Mutual labels:  bot, hacktoberfest
Shieldy
@shieldy_bot Telegram bot repository
Stars: ✭ 351 (-23.36%)
Mutual labels:  bot, telegram
Tbot
Go library for Telegram Bot API
Stars: ✭ 301 (-34.28%)
Mutual labels:  bot, telegram
Javacord
An easy to use multithreaded library for creating Discord bots in Java.
Stars: ✭ 368 (-19.65%)
Mutual labels:  bot, hacktoberfest
Pokemongo Bot
The Pokemon Go Bot, baking with community.
Stars: ✭ 3,730 (+714.41%)
Mutual labels:  bot, telegram
The Guard Bot
The Guard, a Telegram bot to moderate groups.
Stars: ✭ 299 (-34.72%)
Mutual labels:  bot, telegram
Pytg
Python package that wraps around Telegram messenger CLI. Send and receive messages, and more.
Stars: ✭ 365 (-20.31%)
Mutual labels:  bot, telegram
Nlp.js
An NLP library for building bots, with entity extraction, sentiment analysis, automatic language identify, and so more
Stars: ✭ 4,670 (+919.65%)
Mutual labels:  bot, hacktoberfest

Werewolf for Telegram

This is the main repo for Werewolf for Telegram.

For language file updates, please submit the xml file on Telegram to the support chat and ask for assistance

Visual Studio Team Services Continuous Integration

build status

Requirements

  • .NET Framework 4.5.2
  • SQL Server (I am using 2014) / SQL Server 2016
  • Windows Server

Setup

To set up werewolf on a private server, follow these steps:

  1. Go to BotFather and create a new bot. Answer all of the questions it asks, and you will receive an API Token.

    • On your server, open regedit, and go to HKLM\SOFTWARE\, create a new Key named Werewolf (HKLM - HKEY_LOCAL_MACHINE)
    • In the new key create a new string value named ProductionAPI.
    • Paste your API token here.
  2. Grab the werewolf.sql file from this repository

    • Open the file in notepad, notepad++, whatever you use
    • Double check the path at the top of the file - update it if you are using a different SQL version
    • Run the sql script. This will create the werewolf database and all the tables / views / stored procs to go with it
    • If you already have some admins (including yourself), add their TelegramID's to the dbo.Admin table
  3. Now it's time to compile the source code

    • On your server, open regedit
    • In the Werewolf key create a new string value named BotConnectionString.
    • Paste the Connection String here.
      • Connection String should be this (change the values) metadata=res://*/WerewolfModel.csdl|res://*/WerewolfModel.ssdl|res://*/WerewolfModel.msl;provider=System.Data.SqlClient;provider connection string="data source=SERVERADDRESS;initial catalog=werewolf;user id=USERNAME;password=PASSWORD;MultipleActiveResultSets=True;App=EntityFramework"
        • If you are using Windows Authentication for your MSSQL Server, do take note that the password property will NO Longer be required. You're required to replace it(both user id and password) with "Trusted_Connection=True;" instead.
      • .gitignore has marked this file, so it won't be committed. However, when you create the setting, VS will copy it to the app.config - make sure to remove it if you plan on committing back to your fork
    • Create another new string value named BotanReleaseAPI. You can leave this blank if you don't want to track your usage using BotanIO.
    • If you plan on running another instance of the bot as beta, add another two new string values named BotanBetaAPI and BetaAPI. Again, you can leave BotanBetaAPI empty if you want. Set BetaAPI to the token of your beta bot.
    • In Visual Studio, open the solution. Make sure you are set to RELEASE build. You may want to go into Werewolf_Control.Helpers.UpdateHelper.cs and add your id to internal static int[] Devs = { ... }. Also, double check the Settings.cs files in both Werewolf Control/Helpers and Werewolf Node/Helpers.
    • Build the solution
  4. Server directories

    • Pick any directory for your root directory
    Directory Contents
    root\Instance Name\Control Control build
    root\Instance Name\Node 1 Node build
    root\Instance Name\Node <#> Node updates can be added to a new Node folder. Running /replacenodes in Telegram will tell the bot to automatically find the newest node (by build time) and run it
    root\Instance Name\Logs Logging directory
    root\Languages Language xml files - These files are shared by all instances of Werewolf
    • Note - Once all nodes are running the newest version (Node 2 directory), the next time you update nodes, you can put the new files in Node 1 and /replacenodes. Again, the bot will always take whichever node it finds that is the newest, as long as the directory has Node in the name. do not name any other directory in the root folder anything with Node in it
  5. Fire up the bot!

  6. If you try to start a game now, you will notice that the bot will just respond with an error. That is because you didn't update the gif ids yet. See the section below for instructions on how to do this.

GIF SUPPORT

In order to use GIFs with the bot, you will need to "teach" the bot the new GIF IDs. From Telegram, run /learngif, the bot will respond with GIF learning = true. Now send it a GIF, and the bot will reply with an ID. Send the bot all the GIFs you need. In the Node project, go to Helpers > Settings.cs and find the GIF lists. You'll need to remove all of the existing IDs and put in the IDs you just got from the bot.

You can test these by running /dumpgifs (preferrably in Private Message!). Make sure you check out DevCommands.cs, and look at the DumpGifs() method - most of it is commented out. Uncomment what you need.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].