Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Cenzura v2
Konnekt | Forum > Dodatki > Wtyczki
Stron: 1, 2, 3
Mucha
Wtyczka filtruje wulgaryzmy, lancuszki oraz slowa wybrane przez uzytkownika. Jest niedokonczona bo nie potrafie jej poprawic.

Cenzura v.1.0.0.0:
Wtyczka
Źródła
Więcej informacji na mojej stronie


Zmiany:
0.1
- z Delphi na C++
0.5
- wiadomosci oryginalne zapisywane sa do historii, w nieobsluzone
- mozliwosc dodawania wlasnych slow (nie dziala)
0.7
- filtruje tylko wiadomosci przychodzace
- przepisanie wszystkiego na szablon ze strony kApi
- nie przechwyca obrazkow i URL
0.8
- obszerniejsze logi
- mozliwosc wyboru tresci wiadomosci
- przerywa po pierwszym slowie nieakceptowanym, skraca to czas przetwarzania wiadomosci, dzieki czemu blad rzadziej wystepuje
0.1.0.0
poprawione bledy:
- blad jak przychodzi dluga wiadomosc
- blad jak wczytuje liste naszych slow
1.0.0.0
- poprawiono zapetlenia
1.0.0.1
- logowanie
keeveek
mnie się ta wtyczka nie uruchamia.

Proponuję zmianę nazwy na CenzoreK albo Cenzur K tongue.gif
Mucha
Jak sie nieuruchamia? Jakies bledy? Zaznaczyles w konfiguracji?
Ustawilem embbed manifest na off, zobacz teraz
keeveek
teraz mam inny błąd, a nawet dwa, najpierw..



a potem..

Mucha
Niestety nie da sie dolaczyc tej bilioteki do DLL wiec bedziesz musial ja skopiowac do folderu z wtyczka
Drugi blad jest pewnie zwiazany z pierwszym
wnuku
http://www.codeproject.com/cpp/vcredists_x86.asp - tutaj jest conieco o uruchamianiu pragramów/DLLów napisanych w C++8.0 na innych komputerach
keeveek
dołącz do posta wszystkie biblioteki wymagane przez wtyczkę.. bo teraz np brakuje mi msvcp80d.dll
Sija
(albo) przekompiluj wtyczke jako "release"
Mucha
Mam nadzieje ze zrobilem to dobrze bo az dziw ze zajmuje 13kB (Project->Propeteries i ustawilem Active(Release))
I o razu pytanie, gdzie sie ustawia info o wtyczce (cos jak version info w delphi), autor, wersja itp.?
beosia
skoro ta wersja wreszcie sie uruchamia to moze powiedziałbyś na jakiej zasadzie ta wtyczka działa i co dokładnie robi
Mucha
Napisane w pierwszym poscie (ostanie zdanie), skoro wreszcie dziala to biore sie za dodawanie slow przez uzytkownika
Dziala na takiej zasadzie ze dzieli wiadomosc na slowa, a potem porownuje je do tych zakazanych
keeveek
Mucha
Wiedzialem ze 13KB to cos zbyt pieknie, zmienilem
Project->Propeteries->Configuration Propeteries->C/C++->Code Generation->Runtime Library na Multi-threaded /MT
oraz
Project->Propeteries->Configuration Propeteries->Manifest Tool->Use FAT32 Work-around na Yes
dulek000
Runtime Library nie powinno być Multi-threaded DLL?
beosia
QUOTE(Mucha @ 4.06.2006 - 21:29) *
Dziala na takiej zasadzie ze dzieli wiadomosc na slowa, a potem porownuje je do tych zakazanych


tzn nie dopuszcza do wyświetlenia tych słów czy może zamiast tych słów pisze <cenzura>? a łańcuszki?
KoSiarzPL
QUOTE(Mucha @ 4.06.2006 - 20:54) *

Mam nadzieje ze zrobilem to dobrze bo az dziw ze zajmuje 13kB (Project->Propeteries i ustawilem Active(Release))
I o razu pytanie, gdzie sie ustawia info o wtyczce (cos jak version info w delphi), autor, wersja itp.?

Tu http://free.of.pl/k/k-api/pomoce/szablon.html masz napisane jak stworzyc wlasna wtyczke i podany link do szablonu w ktorym jest juz dolaczony odpowiedni zasob w ktorym podajesz werjse, autora, opis itp
Mucha
QUOTE(dulek000 @ 4.06.2006 - 22:24) *

Runtime Library nie powinno być Multi-threaded DLL?

W tym wypadku wyskakiwal blad 14001, gdzies na jakims forum znalazlem ze tak trzeba zrobic
QUOTE(beosia @ 4.06.2006 - 22:28) *

tzn nie dopuszcza do wyświetlenia tych słów czy może zamiast tych słów pisze <cenzura>? a łańcuszki?

Wiadomsc ktora dostajesz zmienia tresc na: "Wiadomość została usunięta ponieważ zawierała słowa niecenzuralne" LUB "Wiadomość nie przeszła testu anty-łańcuszkowego", on dostaje taka sama
beosia
czy taka wiadomość która nie przeszła testu jest gdzieś zapisywana w wersji oryginalnej np w historii wiadomości usuniętych?
Mucha
Niestety nie, a powinna byc, poprawie to
Tu wyniki moich prob:
CODE
case IM_MSG_RCV: IM_MSG_delete; //NIC

case IM_MSG_RCV: IM_MSG_ok;
case IM_MSG_RCV: IM_MSG_delete; // krzaczy

m->flag = MF_HIDE; //wiadomosc jest ukryta, ale caly czas mruga ikonka nowej wiadomosci
m->flag = MF_HIDE| cokolwiek innego //krzaczy
dulek000
Mucha: Dobrze wiedzieć - też miałem z tym błędem problemy. tongue.gif
Kosiarz: Mucha korzysta z VS2005…
KoSiarzPL
no ja doszedlem do tego ze korzysta z 2005, ale to niczego nie zmienia poza dodatkowa konfiguracja. Szkielet wtyczki powinien dzialac wraz z tym czego potrzebowal i jest rowniez poprawiony plik plug_defs.cpp.
dulek000
Uwierz, zmienia bardzo wiele - komilowanie DLL-ów pod 2005, tak aby działały na innych komputerach sprawia same problemy. Po prostej konwersji projektu na 2005 wtyczka wywala się u innych przy starcie.
Mucha
Dobra, zrobilem tak ze kopia oryginalnej wiadomosci wedruje do historii (do nieobsluzone), a jej oryginal zostaje zmienony na "Wiadomość została usunięta ponieważ ...". Na razie nie publikuje nowszej wersji bo natrafilem na blad, dlaczego jak daje wszystkie warunki w IM_MSG_RCV (czyli logicznie wiadomosci odebrane) to obslugiwane sa takze wiadomosci wysylane??? Mam pomysl jak to obejsc: if (m->fromUid!=moj numer), tylko nie wiem jak pobrac moj numer(y), moze jest jakas latwiejsza metoda zeby rozroznic wiadomosc wychodzaca od przychodzacej?
KoSiarzPL
Dulek przeczytaj jeszce raz na jakie pytanie dałem odpowiedź swoim postem. Nie na "jak skonfigurować projekt dla MVS 2005", tylko jak dodać informacje o wtyczce do projektu.
Mucha
Nowa wersja, znane bledy w pierwszym poscie
Sija
QUOTE(Mucha @ 5.06.2006 - 15:14) *

[...] Mam pomysl jak to obejsc: if (m->fromUid!=moj numer), tylko nie wiem jak pobrac moj numer(y), moze jest jakas latwiejsza metoda zeby rozroznic wiadomosc wychodzaca od przychodzacej?


wystarczy, ze sprawdzisz czy fromUid jest pusta smile.gif
Mucha
Niestety jak dam
CODE
    if (m->ext!="nadane przez Cenzura")|(m->fromUid!="")
to sie zawiesza konnekt przy uruchamianiu, jak jest samo
CODE
if (m->fromUid!="")
to wyskakuje STACK OVERFLOW, probowalem z || ale wtedy nie dziala
Sija
moze najpierw zabierz sie przynajmniej za SDK, a dopiero pozniej sie realizuj, hm?
Mucha
CODE
if (( m->fromUid != 0 )&&(strcmp(m->ext,"nadane przez Cenzura")!=0))
, co tu jest zle? (nadal filtruje zarowno wychodzace jak i przychodzace)
KoSiarzPL
1. Napisz słownie w jednym poscie, co chcesz uzyskac
2. Napisz słownie jaki warunek ma byc spełniony żeby ...

Bo ja już się pogubiłem a nie chce mi sie wnikać.
Mucha
Chce aby:
W IM_MSG_RCV byly przerabiane tylko wiadomosci odbierane, a nie wysylane ode mnie
Warunek:
Jesli wiadomosc jest wysylana DO mnie oraz nie jest wiadomoscia od wtyczki Cenzura(jesli sie tego nie sprawdzi to nastapi zapetlenie) to wtedy ta wiadomosc ma byc przefiltrowana, jesli nie spelni warunku to nic niech nie zostanie zmienione
To co napisalem:
CODE
case IM_MSG_RCV:
        {
        cMessage * m = (cMessage*)msg->p1;
        if (( m->fromUid != 0 )&&(strcmp(m->ext,"nadane przez Cenzura")!=0))
{filtrowanie}
KoSiarzPL
Poprawne:
CODE
if (( m->fromUid[0] != 0 )&&(strcmp(m->ext,"nadane przez Cenzura")!=0))
Mucha
Dzieki, dziala
zhvir
W trakcie wysyłania obrazka przez ggimage cenzura wywala konnekta:

------
Wystąpił wyjątek krytyczny

Critical structured Exception "Access Violation" occured at adress 0x02262238 in the main Thread.
Information: can't read 38303936

inIM: 20100(0x4bbf9dc , 0x0)(30B) [CORE->cenzura.cpp]

Stack trace:
.00002238 [Cenzura]

Nastąpi zamknięcie programu!
------

ponadto dołączam się do propozycji keeveeka aby nazwa wtyczki była bardziej konnektowa -> głosuję na CenzoreK
Akira
Czemu informacji o autorze nie zrobisz takiej jak w kazdej wtyczce? Czyli ikonka i pod klikiem dopiero informacja o autorze a tam gdzie teraz jest to opis wtyczek
Mucha
QUOTE(zhvir @ 7.06.2006 - 16:42) *

W trakcie wysyłania obrazka przez ggimage cenzura wywala konnekta:
teraz beda filtrowane tylko wiadomosci przychodzace
QUOTE

ponadto dołączam się do propozycji keeveeka aby nazwa wtyczki była bardziej konnektowa -> głosuję na CenzoreK
Nie
QUOTE(Akira @ 7.06.2006 - 18:26) *

Czemu informacji o autorze nie zrobisz takiej jak w kazdej wtyczce? Czyli ikonka i pod klikiem dopiero informacja o autorze a tam gdzie teraz jest to opis wtyczek
1. Nie w kazdej tak jest
2. Nie mam ikonki
3. Czy to jest w tej chwili najwazniejsze?

Przepisalem nowa wersje na szablony ze strony kApi, nie wiem czy dziala bo od nowa musialem ustawiac kompilator, dlatego zostawilem tez stara wersje jakby nie dzialalo
zhvir
po pierwsze mała poprawka: ja wysyłam obrazek i u drugiej strony przy włączonej wtyczce cenzura konnekt sie wywala

po drugie: nie to nie tongue.gif
wilkZWS
Ciesze sie, że wkońcu ktoś wziął sie za napisanie tej wtyczki.
Co do samej wtyczki to niech nie zapisuje nigdzie oryginalnych wiadomości (albo niech użytkownik sam o tym decyduje) tylko niech wysyła pewien komunikat (ustalony wcześniej przez użytkownika, który może sobie zmieniać wedle własnego uznania) do danej osoby, blokując wcześniej daną wiadomość. Jeżeli chodzi o filtrowanie to powinna być jakaś podstawa, czyli ogólne słowa, na podstawie, których będą blokowane wiadomości, ale żeby było to rozdzielone, ponieważ chcę, żeby tylko same łańcuszki były blokowane a nie wulgaryzmy i żeby użytkownik mógł ewentulanie dodawać nowe słowa, zwroty itp.
Tak sobie wyobrażam tą wtyczkę. Nie testowałem jeszcze tej wersji - poczekam aż sie bardziej rozwinie...
Takie jest moje zdanie smile.gif
Mucha
Odpaliles wogole ta wtyczke? To wszystko co tu napisales juz jest! (z wyjatkiem usuwania oryginalnej wiadomosci)
wilkZWS
Przecież napisałem, że jeszcze nie testowałem.
Skoro mówisz, że wszystko jest - w takim razie już ją odpalam...
Odpaliłem...
A gdzie można ustawić własny tekst komunikatu, który jest wysyłany do osoby po stwierdzeniu np. łańcuszka?
Znajomy wysłał mi łańcuszek na próbę i takie coś wyskoczyło...

Wystąpił wyjątek krytyczny

Critical structured Exception "Access Violation" occured at adress 0x7C911E58 in the main Thread.
Information: can't read 0

inIM: 20100(0x16cfebc , 0x0)(30B) [CORE->cenzura.cpp]

Stack trace:
.00011E58 RtlInitializeCriticalSection+0x0000032B [ntdll_5.1.2600.2180]
.00018251 RtlReAllocateHeap+0x00000854 [ntdll_5.1.2600.2180]
.00011C76 RtlInitializeCriticalSection+0x00000149 [ntdll_5.1.2600.2180]
.00002A79 [cenzura_0.0.0.7]



Nastąpi zamknięcie programu!
Mucha
Jest to jeden z wielu bledow ktore nie wiem skad sie biora, funkcja sprawdzajaca wiadomosc testowana pod aplikacja konslowa dziala w 100%...
wilkZWS
Nie wiem, ale w każdym bądź razie u mnie nie działa - może to coś u mnie jest nie tak. Ale mniejsza o to. Napewno wtyczke trzeba jeszcze dopracować smile.gif
Trzymam kciuki za końcowy sukces smile.gif
KoSiarzPL
Co wy tak naskakujecie na autora tej wtyczki, hehe, jak by wam krzywdę robił. Nazwa to rzecz gustu, mi ona nie przeszkadza a wciskanie K w nazwę wtyczki to czasami przesada. Mam jednak przeczucie, że wstawianie K do nazw wtyczek przyjdzie samo (bo to jest jak nałóg) wink.gif
Mucha
Probuje poprawic te bledy i mam pytanie co do logow, co to znaczy
QUOTE
## [GG] --- MSG_NEW: c=415125, t=448ad4c6 ---
## [CORE] -> T=64
## [CORE] >> T=64 <<
i jak zapobiec temu
QUOTE
## [CORE] Wiadomosc bez obslugi lub usunieta - tresc...
KoSiarzPL
A w jakim momencie dostajesz ten błąd?
Mucha
To pierwsze to nie jest blad, tylko jak wiadomosc przychodzi, zastanawiam sie czy T oznacza timeout? I po co to drugie jest?
Potem laduje sie moja wtyka, zaczyna przetwarzac wiadomosc, robi troche operacji potem jest to drugie co nie wiem, zrobi jeszcze pare operacji i blad. Moze slabo to wytlumaczylem wiec zalaczam logi
wilkZWS
Jak tam prace idą?
Mucha
Wcale, nie wiem skad biora sie te bledy.
wilkZWS
Szkoda sad.gif
Zx_Shadow
Mi po dodani wtyczki, konnekt ledwo łączył sie z siecią i zaraz się wyłanczał..
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2012 Invision Power Services, Inc.