Elis - The ChatBot

C# .NET Pro pokročilé Elis - The ChatBot

Elis je milá kyber slečna, která si za vás popovídá s kamarády na Facebooku, Skype či G-Talk nebo jiných XMPP protokolech. (Zpracovává přijaté zprávy a odpovídá na ně.)

Co Elis umí:

  • simulovat rozhovor pomocí umělé inteligence
  • informovat o počasí, času a podobně
  • upozornit vás pomocí SMS v případě důležité zprávy
  • počítat matematické výrazy

Začneme příkazy.

Ty začínají ! a dále následuje název příkazu.

Například !pomoc

Elis:
Čauky, jmenuji se Elis. Jsem robot a zástupce mého pána Davče. Níže jsou napsané nějaké příkazy, které můžeš využít.

!pomoc - zobrazí tuto zprávu

!info - proč tu Davídek není a kdy sem jej naposledy viděla

!datumcas - napíšu ti datum a čas, který je právě na počítači na kterém běžím

!pocasi - vykouknu webkou ven a řeknu ti jak vidím, že to bude s počasím a teplotou

!vypocitej [prikad] - spočítám ti zadaný příklad - zvládám i složité příklady a matematické fce - pro nápovědu zadejte !vypocitej_help

!dulezite [zprava] - pokud máš něco fakt důležitého, použij tento příkaz a já ji doručím přímo. Prosím podepiš se, já znám z fb jen tvoje id tak ať to Davídek nemusí luštit. A šetři znakama max 120 jsem limitovaná sms bránou

!vypnise - vypne Elis -> nebudu odpovídat na tvé dotazy, avšak příkazy stále budou aktivní

!zapnise - zapne Elis

[zprava] - odpoví na danou zprávu

Odpovídá na přijaté zprávy

Při výchozím nastavení (pouze zapnutá) Elis reaguje jen na příkazy.

Info o nepřítomnosti
Můžete si nastavit, zda chcete, aby Elis informavala vaše přátele o důvodu vaší nepřítomnosti a sdělila jim, kdy vás naposledy viděla. To je tzv. úvodní zpráva, kterou Elis napíše při začátku konverzace a pak při neaktivitě 15 minut, když znovu obdrží zprávu.
Zprávu si nastavíte v textboxu hned pod tímto checkboxem.

Odpovídat na dotazy
Zavede jádro IQPokydu a bude za vás odpovídat na dotazy.
Styl komunikace si můžete nastavit v souboru IQPOKYD.CFG

IQ Pokyd v0.15 - soubor s nastavenim - Ales Janda (C) KYBLSoft 1999-2005

Pohlavi cloveka: muz
Pohlavi pocitace: zena
Jmeno cloveka:
Jmeno pocitace: Elis
Charakter: naladovy
Nalada: dobra
Ukladat rozhovor: ne
Pouzivat zvuky: ne
Pouzivat efekty: ne
Preferovat spisovnou cestinu: ano
Emulovat klavesnici: zadnou
Klavesnice QWERTY: ano
Zobrazovat standardni kurzor: ne
Nezobrazovat pozadi: ne
Nezapisovat na disk: ne
Zobrazovat popisky: ne
Debug nastaveni: 0925

Jako náladu a charakter můžete použít tyto hodnoty:
charakter: stroj, naivni, prumerny, klidny, neduverivy, naladovy, vybusny
nálada: vyborna, dobra, normalni, spatna, hrozna

AFK-mód kontroluje aktivitu uživatele. Při neaktivitě delší, než zadaný čas zapne Info o nepřítomnosti a Elis.
AFK info pak ukazuje čas neaktivity.

Trafik zpráv Ukazuje počet zpráv, které Elis přijala. Můžete jej jednoduše vynulovat pomocí tlačítka.

Průběh vývoje, ukázky programu a příklad konverzace můžete najít v inkubárotu: http://www.itnetwork.cz/…fb94c0fc9b80

Externí DLL knihovny:

Program používá pro komunikaci s XMPP knihovnu agsXMPP, která je pro C# volně ke stažení zde: http://xmpp.org/…e/libraries/

Dále pak pro komunikaci se Skype klientem knihovnu Skype4COM, kterou můžete naleznout zde: http://developer.skype.com/…es/skype4com

Jádro komunikace staví na jádře IQ Pokydu, který je v C++. A s tou už nikdy nechci míti nic společného :D http://iqpokyd.kyblsoft.cz/iqpokyd#…

Vlastní třídy v programu:

Co se týče kódu, vše je popsané. Snažil jsem se, aby to bylo aspoň trošku přehledné, tak snad se v tom bude dát orientovat.

Nevím, co bych tu sdělil, je to všechno popsané přímo v kódu. Snad jen, kdyby někdo hledal nějakou metodu, tak popíšu, co je k najítí:

  1. Pokročilá kalkulačka Island Advanced Calculator
  2. XML parser -> na počasí
  3. Google SMTP -> posílání emailů + návod jak posílat smsky
  4. Kontrola aktivity uživatele (poslední ťuknutí do klávesnice, poslední událost myši)
  5. Použití knihoven agsXMPP (propojení Facebook a Google Talk) a Skype4COM
  6. Použití knihovny IQPokydu (non COM knihovna - C++)
  7. A další...

Nastavení (zprovoznění) Elis

Ve třídě Settings si vyplňte přihlašovací údaje a případně přenastavte dle svého gusta.

V souboru IQPOKYD.CFG si můžete nastavit způsob komunikace.

Musíte také zaregistrovat Skype4COM knihovnu, aby bylo možné připojit se ke Skype. Přiložil jsem k tomu soubor, který to vykoná za vás stačí jen spustit: register_skype4com­.bat

Snad se Vám program zalíbí a najdete pro něj využití.

Ke stažení naleznete kompletní zdrojový kód Elis, včetně použitých knihoven. A já nevim čeho všeho.

Licence

Zdrojový kód je pod licencí GNU GPL. Program můžete libivolně šířit a modifikovat, ale pouze pokud spolu s programem šíříte i zdrojový kód. Prosím, uveďte vždy viditelně odkaz na portál www.devbook.cz ( http://www.itnetwork.cz/…the-chat-bot )

Pokud Elis vylepšíte, rád se o tom dozvím a zde máte prostor se podělit :)

Elis dle mého gusta

Autor Modifikace Link

Galerie

Program byl vytvořen v roce 2012.

 

Stáhnout

Staženo 918x (26.76 MB)
Aplikace je včetně zdrojových kódů v jazyce C#

 

  Aktivity (1)

Program pro vás napsal David Jančík [sczdavos]
Avatar
Autor je vášnivý programátor v .NET C# a PHP. Nezná slovo "nelze", nebojí se zkoušet nepoznané a pronikat do nových technologií.

Jak se ti líbí článek?
Celkem (17 hlasů) :
4.941184.941184.941184.941184.94118


 


Miniatura
Všechny články v sekci
C# - Pro pokročilé
Miniatura
Následující článek
Regulární výrazy v C# .NET

 

 

Komentáře
Zobrazit starší komentáře (46)

Avatar
krabatom
Člen
Avatar
krabatom:

Ve stručnosti:

  1. Nainstaluješ vývojové prostředí Visual Studio pokud ho už nemáš - http://www.stahuj.centrum.cz/…dio-express/
  2. Otevřeš projekt - Elis.sln
  3. Klikneš na zelenou šipečku, která projekt zkompiluje a spustí.

Snad to takto půjde. Tuto verzi Visual Studia nemám a na placenou tě odkazovat nebudu...

 
Odpovědět 15.6.2014 16:05
Avatar
GIlytex
Člen
Avatar
GIlytex:

wdim? http://prntscr.com/3t1uq4

Editováno 15.6.2014 16:37
 
Odpovědět 15.6.2014 16:37
Avatar
Ondrca
Redaktor
Avatar
Odpovídá na GIlytex
Ondrca:

Máš starší verzi VS než, ve které to bylo psaný

Odpovědět  -1 15.6.2014 16:42
Zase jsem o něco chytřejší
Avatar
Theodor Johnson
Redaktor
Avatar
Odpovídá na GIlytex
Theodor Johnson:

.csproj je C# projekt, ne Visual Basic Project ;)

Odpovědět  +2 15.6.2014 16:48
Přecházím na "Cross-Platform Development"
Avatar
patrik.nacovsky:

Táák.. konečně všechno funguje.. :D stydím se, že mě s mými skromnými zkušenostmi nenapadlo to s tou kompilací. Jen mám pocit, že Elis moc nezajímá, co jí píšu do IQPOKYD.cfg. Mluví o sobě jako o muži i když má být žena a je věčně nasraná, i když jí dám vyborna nálada a klidny charakter. :D To je u žen normální, ale byl bych rád, kdyby o sobě mluvila v ženském rodě, když tam má Pohlavi pocitace: zena .

 
Odpovědět 19.6.2014 19:48
Avatar
krabatom
Člen
Avatar
Odpovídá na patrik.nacovsky
krabatom:

Minimálně nastavení pohlaví i nálada funguje (odpovídá jinak). Mám dojem, že při každé změně nastavení ten program musíš zapnout a vypnout, jinak se to nastavení neprojeví.

 
Odpovědět 19.6.2014 21:02
Avatar
IT Man
Redaktor
Avatar
IT Man:

Je škoda, že už tato aplikace nefunguje. :(

Odpovědět 10.7.2015 13:42
Když nevíš jak dál, podá ti ruku někdo, od koho by jsi to nečekal. A tu šanci musíš přijmout!
Avatar
IT Man
Redaktor
Avatar
Odpovídá na IT Man
IT Man:

Tak funguje, jenom nastavení ne.

Odpovědět 10.7.2015 14:12
Když nevíš jak dál, podá ti ruku někdo, od koho by jsi to nečekal. A tu šanci musíš přijmout!
Avatar
Tomáš "chlastyml" Kacálek:

Ahoj, aplikace super, jen mi padá na odeslání zprávy. Myslím, tím zprávy, kterou Elis posílá. A jen zprávy vyloženě chatovací, takže žádný příkaz. Nastala někomu již tato situace? A jak jste ji řešili?

 
Odpovědět 7. ledna 2:18
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 56. Zobrazit vše