Autor Wątek: [chatCommandsPlus] Dodawanie własnych komend w chatCommands  (Przeczytany 11316 razy)

0 Użytkowników i 1 Gość przegląda ten wątek.

Offline sWirus

[chatCommandsPlus] Dodawanie własnych komend w chatCommands
« dnia: Lipiec 07, 2010, 15:06:34 pm »
Żeby nie było:
Wtyczka wymaga do działania wtyczki chatCommands

Główną funkcjonalnością wtyczki jest dodawanie 'własnych' komend do już istniejących.
Oprócz tego dodałem jeszcze komendę /exe, która normalnie byłaby nie przydatna a tu raczej pomoże.

Zacznę właśnie od niej:

/exe sciezka parametry - Funkcja pozwalająca na wywołanie programu/folderu/pliku/strony internetowej
przykłady?

/exe "C:\Program Files\K2T\WTW\wtw.exe" --clone
Otwiera WTW po raz drugi (cudzysłów potrzebny kiedy w ścieżce jest spacja)
/exe "C:\Program Files\K2T\WTW"
otworzy folder wtw
/exe "C:\Program Files\K2T\WTW\Components\Theme\logoIcon48.png"
otworzy ikonkę WTW, a
/exe www.k2t.eu
otworzy w/w stronę

Wszystko to wpisuje się długo więc nie było sensu dodawać tego do podstawowej wtyczki. Tu się przyda.


Są dwa sposoby na dodanie nowych komend.

I Sposób dodawania komend

- komenda /createcmd /nowa_komenda użycie_istniejacej_komendy

gdzie użycie komendy może być normalne np. /open :GG: 100, ale może też zawierać "zamienniki": %all, %rest, %1, %2, itd., które oznaczają miejsce, gdzie będą wpisywane parametry nowej komendy.
Przykładowo tworząc komendę /open2:
/createcmd /open2 /open :%1: %rest
będziemy jej używać tak:
/open2 gg 100
czyli %1 oznacza pierwsze słowo parametrów, %2 oznaczał by drugie, %rest resztę
możemy też użyć %all - wszystkie parametry

Może teraz sensowne przykłady użycia /createcmd:

Tworzenie komendy otwierającej okno rozmowy z daną osobą np:
/createcmd /bot /talk :GG: Infobot

Wyszukiwanie w googlu:
/createcmd /search /exe "http://www.google.com/search?q=%all&ie=utf-8&oe=utf-8"

Dodatkowa instancja WTW:
/createcmd /wtw /exe "C:\Program Files\K2T\WTW\wtw.exe" --clone

dodaną komendę możemy usunąć komendą
/rmcmd /komenda

II Sposób dodawania komend

"Skrypty" .ccp
No dobra... skrypty to o WIEEEEEELE za dużo napisane, ale ładnie brzmi ^^

Polega to na tym, że w katalogu profilu użytkownika tworzymy plik o rozszerzeniu .ccp
np. pogoda.ccp stworzy nową komendę - /pogoda
W takim pliku możemy wypisać kolejne komendy, które mają się wykonać po wpisaniu nowej komendy (tutaj: /pogoda)
przykładowo treść takiego pliku u mnie:
/open :GG: 100
#pogoda Wroclaw
pierwsze wiadomo co robi. Drugie wysyła wiadomość o treści "pogoda Wroclaw" do aktualnie otwartego kontaktu.

Wykorzystując ten sposób można też np. otwierać kilka stron internetowych na raz czy uruchamiać kilka programów.

To chyba wszystko. Czekam na reakcje, czy się wtyczka przyda, czy też całkowicie bezsensowna ;p

acha... i żeby nie było, że robię tylko jedno - następna wtyczka to nie będą już komendy ;p
« Ostatnia zmiana: Wrzesień 26, 2010, 09:40:26 am wysłana przez sWirus »
Oblałem test Turinga... damn ;/

Offline domik

  • Narybek
  • *
Re: [chatCommandsPlus] Dodawanie własnych komend w chatCommands
« Odpowiedź #1 dnia: Lipiec 07, 2010, 19:02:12 pm »
To jest to coś o czym nie chciałem mówić że by mi się przydało ;D

Teraz wypadało by tylko zacząć wstawiać własne wymyślone komendy.

Gratuluje pomysłu i wykonania, jak tylko będę miał chwilę czasu to przetestuję.

Offline DemoNCS

  • Młodzież
  • **
  • Maniak IT
Re: [chatCommandsPlus] Dodawanie własnych komend w chatCommands
« Odpowiedź #2 dnia: Lipiec 07, 2010, 21:50:32 pm »
Brawo ! ;D
To jednak moja propozycja Wykonana xD
Szkoda że z miejsca nie mogę testować, eh ale jutro na 100% :)
Ehhh re-up avka nie działa (błąd zapisu załącznika) :(

Offline domik

  • Narybek
  • *
Re: [chatCommandsPlus] Dodawanie własnych komend w chatCommands
« Odpowiedź #3 dnia: Lipiec 08, 2010, 11:54:21 am »
Pierwsze testy wtyczki potwierdzają prawidłowe działanie. Mam jednak pytania:

Gdzie są zapisywane komendy które nie są stworzone przez plik?
Czy da radę wprowadzić "odświeżenie" wtyczki lub import komend. Wgrywam nową komendę i muszę restartować WTW aby ja wczytać.
Wtyczka rozpoznaje duże/małe litery - mnie akurat jest to niepotrzebne, przydał by się podobny parametr ignorujący to jak we wtyczce głównej.

Informacja dodatkowa.
Można sobie zrobić prostą komendę /bot przez  /createcmd /bot /talk Infobot, a następnie użyć w pliku samego /bot + reszta danych która jest potrzebna.


To już są ekstremalne prośby ;P
1. Da radę pokazać zawartość pliku?

/help /bot zwraca  :Wywołuje: /talk Infobot

/help /ap zwraca Script in file: c:\...\/ap


2. Tworzenie plikowych komend z okna chata :)

czyli
/createfilecmd nazwa_pliku - rozszerzenie powinno dodać się samo, komenda stworzy plik w profilu użytkownika
Enter przechodzi do tworzenia pliku
pierwsza linia Enter (zapis)
druga linia Enter (zapis)
itd.
/end Enter > koniec edycji i ewentualne przeładowanie wtyczek

Ta sama możliwość z wysyłaniem wielu linii (ctrl+enter w oknie rozmowy), kończąc plik zawsze poprzez /end

3. Jeśli udało by się zrealizować pkt 1 i 2 to edycja pliku ;)
 
/createfilecmd nazwa_pliku
komenda już istnieje > źródło istniejącego pliku
wklejam nową treść komendy
zatwierdzam, plik zostaje nadpisany

Tyle z mojej strony.

Offline sWirus

Re: [chatCommandsPlus] Dodawanie własnych komend w chatCommands
« Odpowiedź #4 dnia: Lipiec 08, 2010, 15:13:13 pm »
Whoa... pobrany CAŁE 7 razy ^^

W autoupdate wersja pokazująca zawartość pliku .ccp po wpisaniu /help /komenda
(pierwszy pkt domika)

Cytat: domik
Gdzie są zapisywane komendy które nie są stworzone przez plik?
Nie są zapisywane

Cytat: domik
Czy da radę wprowadzić "odświeżenie" wtyczki lub import komend. Wgrywam nową komendę i muszę restartować WTW aby ja wczytać.
Niby da rade, ale nie widzę wielkiego sensu. Możesz wyłączyć/włączyć wtyczkę.

Cytat: domik
Wtyczka rozpoznaje duże/małe litery - mnie akurat jest to niepotrzebne, przydał by się podobny parametr ignorujący to jak we wtyczce głównej.
hmm... tam też nie działa dla wszystkich komend... i tutaj jeżeli korzystasz z tych, dla których działa, też będzie działać.


Cytat: domik
Można sobie zrobić prostą komendę /bot przez  /createcmd /bot /talk Infobot, a następnie użyć w pliku samego /bot + reszta danych która jest potrzebna.
Ba... Można korzystać nawet z innych komend typu .ccp. Można po prostu korzystać z wszystkich dostępnych komend, ale rekurencji bym nie polecał ;p


Cytat: domik
1. Da radę pokazać zawartość pliku?

/help /bot zwraca  :Wywołuje: /talk Infobot

/help /ap zwraca Script in file: c:\...\/ap
Zrobione... nawet poprawiłem tą ścieżkę do pliku ;p


Cytat: domik
2. Tworzenie plikowych komend z okna chata :)
Będzie, ale tylko za pomocą ctr+enter... żeby wprowadzać czytanie linijka po linijce to bym musiał nowego hooka zakładać, a to zbędne w sumie.

Cytat: domik
3. Jeśli udało by się zrealizować pkt 1 i 2 to edycja pliku ;)

Się pomyśli się.

DemoNCS, no to czekam na krytykę. ;p

Myślałem też nad tym jak by tu zrobić parametry do komend .ccp, ale póki co nie mam pomysłu.

Edit:

Jeszcze drobna uwaga
/exe to tak naprawdę użycie ShellExecute. Co to oznacza? ano to że można za jego pomocą używać również komend konsoli cmd.exe np
/exe cmd
otworzy konsolę, albo
/exe cmd /C dir
użyje polecenia dir
« Ostatnia zmiana: Lipiec 08, 2010, 15:39:56 pm wysłana przez sWirus »
Oblałem test Turinga... damn ;/

Offline domik

  • Narybek
  • *
Re: [chatCommandsPlus] Dodawanie własnych komend w chatCommands
« Odpowiedź #5 dnia: Lipiec 08, 2010, 16:40:18 pm »
Jeżeli nie są zapisywane.. to w jaki sposób są dostępne po uruchomieniu WTW ? :) Poważnie, proszę o wytłumaczenie.

Małe duże litery. Stworzyłem własną komendę /aga otwierające rozmowę, /Aga już nie jest rozpoznawane - dla własnych mógł by być parametr (2 osobne komendy) rozpoznawaj litery lub nie.

Cytuj
Myślałem też nad tym jak by tu zrobić parametry do komend .ccp, ale póki co nie mam pomysłu.

yyy to czy ja to już zhakowałem przypadkiem ? :) w pliku ap.ccp dałem

/bot (ew /talk Infobot)
ap %1

potem wywołałem komendę "/ap słowo" i zadziałało ;D więcej parametrów nie próbowałem.


Offline Keleos

  • Młodzież
  • **
Re: [chatCommandsPlus] Dodawanie własnych komend w chatCommands
« Odpowiedź #6 dnia: Lipiec 08, 2010, 20:59:14 pm »
Proponuję zrobić post, w którym gromadzilibyśmy przykładowe komendy (niektórzy mają ciekawsze pomysły od innych, warto się podzielić)

edit: /help wyrzuca nam takiego kwiatka: Komendy urzytkownika: ; )

Dałoby się dorobić możliwość umieszczania komentarzy do komend? np. /createcmd /search /exe "http://www.google.com/search?q=%all&ie=utf-8&oe=utf-8" /desc Wyszukuje podaną frazę na google. Wymaga parametru.

Po wklepaniu /help mielibyśmy:
Cytuj
Komendy użytkownika:
/search               [/search] Wyszukuje podaną frazę na google.Wymaga parametru.
 

Ułatwiłoby życie zapominalskim.
« Ostatnia zmiana: Lipiec 08, 2010, 21:19:33 pm wysłana przez Keleos »
wypadłem z obiegu...

Offline domik

  • Narybek
  • *
Re: [chatCommandsPlus] Dodawanie własnych komend w chatCommands
« Odpowiedź #7 dnia: Lipiec 09, 2010, 07:43:35 am »
Keleos, ale przecież możesz zrobić sobie /help /search i pokaże si się wtedy

Wywołuje: /exe "http://www.google.com/search?q=%all&ie=utf-8&oe=utf-8"

Post scalony: Lipiec 09, 2010, 11:46:46 am
Moja pomyłka jednak to:
Cytuj
yyy to czy ja to już zhakowałem przypadkiem ? :) w pliku ap.ccp dałem

/bot (ew /talk Infobot)
ap %1

potem wywołałem komendę "/ap słowo" i zadziałało ;D więcej parametrów nie próbowałem.

nie działa :/ źle spojrzałem wczoraj
« Ostatnia zmiana: Lipiec 09, 2010, 11:46:46 am wysłana przez domik »

Offline Keleos

  • Młodzież
  • **
Re: [chatCommandsPlus] Dodawanie własnych komend w chatCommands
« Odpowiedź #8 dnia: Lipiec 09, 2010, 11:56:38 am »
aa to o takim użyciu helpa nie wiedziałem. Dzięki.

Aczkolwiek przydałby się ten desc i tak, bo np. nie wiem co może być parametrem..

Podam mój przykład: mam wyszukiwanie napisów na opensubtitles, no i tam jako parametr nie podaje się tytułu tylko numer imdb filmu. W opisie bym sobie dopisał, że parametrem jest numer imdb filmu. (bo takto z rozpędu bym pewnie wpisał tytuł i wyszłaby kupa)
wypadłem z obiegu...

Offline sWirus

Re: [chatCommandsPlus] Dodawanie własnych komend w chatCommands
« Odpowiedź #9 dnia: Lipiec 09, 2010, 21:46:00 pm »
Dobra jestem ciekaw czy wam się spodoba nowa wersja:


 - dodana komenda /createccpscript

konkretnie używamy tak:
/createccpscript /nowa_komenda
/dsc tralalal
/st online
to wszystko musi być wpisane od razu w pole edycji. Stworzy się plik nowa_komenda.ccp i przy okazji odświeżą się komendy skryptów
Co do nazwy... wiem, że długa ale zawsze sobie można zmienić ;p

- jezeli ktorys parametr jest nie podany do wstawiana jest za niego spacja

Bo czasem brak parametrów powodował crush'e WTW (przynajmniej mi). Można to teraz fajnie wykorzystać w .ccp, o czym później



 - bardziej rozbudowany "jezyk" skryptow
   + dodana obsluga "help:"
   + dodana obsluga "args:"
   + dodana obsluga "label:"
   + dodana obsluga "jmp: if:"
   + dodana obsluga "exit"

co to oznacza? ano że mamy skoki, proste decyzje i argumenty.

help: - to co po tym zostanie wpisane znajdzie się w helpie skryptu

args: - w tej linijce MUSZĄ zostać wymienione te argumenty (parametry) których chcemy użyć w skrypcie... mogą być tylko takie jak w /createcmd (%all, %rest, %1, %2 itd..)

label: _label_ - oznaczenie miejsca w skrypcie

exit - (bez : ) zakończenie skryptu (jak dojdzie do ostatniej linijki to tez się skończy)

jmp: _label_ if: _string_ = _string_ - skacze w miejsce _label_ jeżeli spełniony jest warunek... póki co obsługiwana tylko  równość, ale zawsze coś.

Acha... KAŻDA spacja jest ważna inaczej było by za dużo roboty ;p

Przykładowy skrypt wykorzystujący to wszystko ("nieco" bardziej rozbudowany /search): (/srch)
help: Komenda odpowiadająca za wyszukiwanie. 
help: Aby dowiedzieć się więcej wpisz: /srch ?
args: %1 %rest
jmp: _g_ if: %rest =  
jmp: _g_ if: %1 = g
jmp: _w_ if: %1 = w
jmp: _b_ if: %1 = b
jmp: _a_ if: %1 = a
jmp: _ang_ if: %1 = ang
jmp: _niem_ if: %1 = niem
jmp: _yt_ if: %1 = yt
jmp: _wrzuta_ if: %1 = wrzuta
jmp: _help_ if: %1 = ?
label: _g_
/exe http://www.google.com/search?q=%rest&ie=utf-8&oe=utf-8
exit
label: _w_
/exe http://pl.wikipedia.org/wiki/Special:Search?search=%rest
exit
label: _b_
/exe http://www.bing.com/search?q=%rest
exit
label: _a_
/exe http://www.allegro.pl/search.php?string=%rest
exit
label: _ang_
/exe http://www.dict.pl/dict?word=%rest
exit
label: _niem_
/exe http://www.dep.pl/dict?word=%rest
exit
label: _yt_
/exe http://www.youtube.com/results?search_query=%rest
exit
label: _wrzuta_
/exe http://www.wrzuta.pl/szukaj/%s
exit
label: _help_
/sh Użycie /srch (spokojnie, ta wiadomość nie została wysłana):
/sh /srch text - szukanie text w google
/sh /srch g text - szukanie text w google
/sh /srch w text - szukanie text w wikipedii
/sh /srch b text - szukanie text w bing
/sh /srch a text - szukanie text w allegro
/sh /srch ang text - szukanie text w słowniku ang-pol
/sh /srch niem text - szukanie text w słowniku niem-pol
/sh /srch yt text - szukanie text w youtube
/sh /srch wrzuta text - szukanie text we wrzucie
/sh /srch ? - niniejsza pomoc
exit

Komenda działa podobnie jak wyszukiwanie przez pasek adresu w operze (wpisałem swoje ulubione wyszukiwania)
wpisując
/srch sialala - wyszukamy sialala w googlach. To samo jak wpiszemu
/srch g sialala
/srch yt sialala - wyszukamy sialala na youtube
/srch a sialala - na allegro, itd...
/srch ? - wyświetli wbudowanego help'a
Przy okazji kod dość dobrze prezentuje działanie nowych elementów składni.
Warto zauważyć, że w pierwszym jmp są dwie spacje po '='... to jest sprawdzenie czy drugi parametr został wprowadzony. Jeżeli nie to skacz do _g_


domik... wtyczka po uruchomieniu przeszukuje folder profilu w poszukiwaniu plików .ccp i zapamiętuje ich nazwy (tylko). Po wpisaniu komendy otwiera plik i wykonuje działanie.

damn... zapomniałem o błędzie... swoją drogą "urzytkownik" to u mnie typowy błąd... nigdy nie mogę zapamiętać że to ż ;/

Keleos. Help już jest ale tylko w "skryptowych" ;p
Oblałem test Turinga... damn ;/

Offline Keleos

  • Młodzież
  • **
Re: [chatCommandsPlus] Dodawanie własnych komend w chatCommands
« Odpowiedź #10 dnia: Lipiec 10, 2010, 14:50:08 pm »
Cytuj
Keleos. Help już jest ale tylko w "skryptowych" ;p

Super ; ) Zawsze mogę sobie pisać jednolinijkowe skrypty ; )
wypadłem z obiegu...

Offline sWirus

Re: [chatCommandsPlus] Dodawanie własnych komend w chatCommands
« Odpowiedź #11 dnia: Lipiec 10, 2010, 15:02:38 pm »
dwulinijkowe bo jeszcze linijka help: cośtam ;p
Oblałem test Turinga... damn ;/

Offline sWirus

Re: [chatCommandsPlus] Dodawanie własnych komend w chatCommands
« Odpowiedź #12 dnia: Sierpień 23, 2010, 15:36:27 pm »
update do wersji 0.1.1.1
czyli kilka poprawek, żeby się nowa wersja chatCommands nie pluła.
Oblałem test Turinga... damn ;/

Offline DonkeyShot

  • Narybek
  • *
Re: [chatCommandsPlus] Dodawanie własnych komend w chatCommands
« Odpowiedź #13 dnia: Sierpień 29, 2010, 16:24:30 pm »
Jestem laikiem w tych kwestiach. Dlatego pytam: jak stworzyć komendę wywołującą okienko Opcji WTW? Nie wymagam oczywiście podanej na tacy linijki kodu, ale przynajmniej jakichś podpowiedzi. Instrukcję potrafię czytać;)

Offline sWirus

Re: [chatCommandsPlus] Dodawanie własnych komend w chatCommands
« Odpowiedź #14 dnia: Sierpień 29, 2010, 16:30:38 pm »
odpowiedź krótka bo w sumie nie ma wiele do napisania:
nie da się ;/

Zawsze masz skrót ctr+o (ale to tylko w oknie listy kontaktów)
Oblałem test Turinga... damn ;/

Offline DonkeyShot

  • Narybek
  • *
Re: [chatCommandsPlus] Dodawanie własnych komend w chatCommands
« Odpowiedź #15 dnia: Sierpień 29, 2010, 16:45:39 pm »
Tak, wiem znam ten skrót. Irytuje mnie właśnie to, że tylko z poziomu LK on działa. No nic, może pokombinuje coś z AutoHotkey. W każdym razie dzięki.

Post scalony: [time]nie 29 sie 2010 19:20:32 GMT-1[/time]
W sumie inaczej sobie to wykombinowałem. Stworzyłem komendę otwierającą Okno Główne:
/createcmd /w /exe "C:\Program Files\K2T\WTW\wtw.exe"

A Opcje wywołuje po prostu skrótem. Nieco to łopatologiczne, ale zawsze to szybciej niż zabawa z myszką.
« Ostatnia zmiana: Sierpień 29, 2010, 19:09:02 pm wysłana przez zhvir »

Offline refresh

  • Grammarnazi
  • Global Moderator
  • Starszyzna
  • *
  • Ciasteczkowy Potwór :3
Re: [chatCommandsPlus] Dodawanie własnych komend w chatCommands
« Odpowiedź #16 dnia: Sierpień 29, 2010, 18:26:27 pm »
a nie szybciej win+w -> ctrl+o ?

Offline DonkeyShot

  • Narybek
  • *
Re: [chatCommandsPlus] Dodawanie własnych komend w chatCommands
« Odpowiedź #17 dnia: Sierpień 29, 2010, 23:17:45 pm »
Okey, tego skrótu nie znałem... Rzeczywiście szybciej :) Dzięki.

Offline sWirus

Re: [chatCommandsPlus] Dodawanie własnych komend w chatCommands
« Odpowiedź #18 dnia: Wrzesień 26, 2010, 09:40:40 am »
update pod nowe API
Oblałem test Turinga... damn ;/

Offline Slimior

  • Narybek
  • *
Odp: [chatCommandsPlus] Dodawanie własnych komend w chatCommands
« Odpowiedź #19 dnia: Listopad 01, 2010, 21:26:11 pm »
A co powiecie na operacje na liczbach?

Np. Argumenty
%1 = %1 + 1

albo osobne zmienne
np.
$zmienna = 4
$zmienna = $zmienna +1
$zmienna++